Как редактировать реквизиты видеоплеера в React Native Video, используя ref - PullRequest
1 голос
/ 22 октября 2019

Я использую реагирующее видео. Я пытаюсь изменить реквизиты для каждого видео onPress, которые находятся в FlatList видео. Поэтому, если я использую состояние, оно изменит все видео-реквизиты во всем FlatList, тогда как я хочу изменить только один.

Я создал: const videoPlayer = [] и добавил ссылку в каждом видеоплеере, например: ref={r => videoPlayer[item.id] = r} и я знаю, что могу сделать videoPlayer[item.id].presentFullscreenPlayer() для воспроизведения видео в полноэкранном режиме, потому что это метод проигрывателя, но как насчет управления другими свойствами, такими как resizeMode и paused?

Я пыталсяvideoPlayer[item.id].props.paused = false, но это не имеет никакого эффекта. Я также представляю, что могу создать какой-то сложный объект в состоянии, но тогда весь список будет обновляться каждый раз, когда я изменяю свойство, и это может привести к медленному выполнению обновлений в большом списке.

Итак, есть ли я? как я могу контролировать реквизиты каждого видео, как я объяснил?

1 Ответ

2 голосов
/ 22 октября 2019

Вы определенно можете использовать setNativeProps, например:

videoPlayer[item.id].setNativeProps({ paused: false })

Это страница документа об этом: https://facebook.github.io/react-native/docs/direct-manipulation

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...