Обновить элемент массива с помощью 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));
    }
  });

0 ответов

Другие вопросы по тегам