я пытаюсь получить строки из базы данных следующим образом:...
const [recommendedItems,setRecommendedItems] = useState(null);
const [recommendedStores,setRecommendedStores] = useState(null);
const [allStores,setAllStores] = useState(null);
...
useEffect(()=>{
getOrderNowItems(setRecommendedItems,setItemsSupliers,"WHERE active = 1 AND recommended = 1 AND i_quantity > 0 ORDER BY id desc");
getOrderNowStores(setRecommendedStores,"WHERE active = 1 AND recommended = 1 ORDER BY id desc");
getOrderNowStores(setAllStores,"WHERE active = 1 AND recommended!= 1 ORDER BY id desc");
},[]);
...
это массив разделов:
const sections = [
{title:t(trans.recommendedItems),data:recommendedItems && recommendedItems!=null?recommendedItems:[],color:"black",type:"items"},
{title:t(trans.recommendedstores),data:(recommendedStores && recommendedStores!=null)?recommendedStores:[],color:"black",type:"stores"},
{title:t(trans.stores),data:(allStores && allStores!=null)?allStores:[],color:"black",type:"stores"}
];
это компонент раздела:
<SectionList
ListHeaderComponent={sectionListHeader}
keyExtractor={keyExtractor2}
sections={sections}
renderSectionHeader={renderSectionHeader2}
renderItem={renderItems2}
extraData={[allStores,recommendedStores,recommendedItems]}
/>
и это реквизит списка разделов:
const keyExtractor2 = (index,item) => item.id;
const renderSectionHeader2=({section})=> section.data.length > 0 &&
<View>
<Text>{section.title}</Text>
</View>;
const renderItems2 = ({index,item,section})=>{....}
Я проверяю, что данные, возвращаемые из данных SQL с помощью «Axios», являются текущими, но раздел отображается и дублируется.
любая помощь, пожалуйста?
Решение проблемы
хорошо, я решил это:
изменение
const keyExtractor2 = (index,item) => item.id;
к
const keyExtractor2 = (index,item) => item+index;
Комментариев нет:
Отправить комментарий