Обновить элемент массива с помощью UseState, стереть весь массив в React Native
Ребята, я пытаюсь автоматически воспроизводить видео при прокрутке с помощью
FlatList
опора
OnViewRef
.Что я пытаюсь сделать, чтобы установить массив видео, поступающих из api в локальное состояние, добавив несколько дополнительных ключей со значениями вроде
isPaused:false
И в OnViewRef я пытаюсь переключить значение isPaused на основе изменений элемента просмотра, но когда я прокручиваю все видео, исчезают и локальное состояние равно null. Пожалуйста, помогите мне, как я могу решить эту проблему. Вот мой код
const onViewRef = useRef((viewableItmes) => {
// alert(JSON.stringify(viewableItmes));
if (viewableItmes.viewableItems.length > 0) {
setVideos(
videos.map((item) => {
item.isPaused = true;
if (item.challenge_id === viewableItmes.changed[0].item.challenge_id)
return {
...item,
isPaused: !item.isPaused,
// isVolumeVisible: !item.isVolumeVisible,
};
return item;
}),
);
alert('Videos', JSON.stringify(videos));
}
});