TO
const [id_news, setIDNews] = useState<string[]>([]);
const onViewRef = useRef((item: any) => {
item.viewableItems.forEach((item: any) => {
console.log('item.item.id', item.item.id);
addIDNews(item.item.id);
});
});
const viewConfigRef = useRef({viewAreaCoveragePercentThreshold: 50});
....
function addIDNews(id: string) {
if (!id_news.includes(id)) {
console.log('id_news BEFORE', id_news);
let newNews = Object.assign([], id_news);
newNews.push(id);
setIDNews(newNews);
}
}
.....
<FlatList
refreshControl={
<RefreshControl refreshing={refreshing} onRefresh={getNews} />
}
data={news}
renderItem={({item}) => renderNews(item)}
keyExtractor={item => item.id}
onEndReached={({distanceFromEnd}) => {}}
onViewableItemsChanged={onViewRef.current}
viewabilityConfig={viewConfigRef.current}
ItemSeparatorComponent={() => {
return (
<View
style={{
height: vScale(1),
backgroundColor: 'grey',
marginHorizontal: hScale(10),
}}
/>
);
}}
/>
);

