GOOGLE ADS

воскресенье, 1 мая 2022 г.

SectionList возвращает повторяющиеся элементы в реакции родной

я пытаюсь получить строки из базы данных следующим образом:...

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;

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...