如何使用 ref 在 React Native Video 中编辑视频播放器道具
How to edit video player props in React Native Video using ref
我正在使用 react-native-video。我正在尝试更改每个视频 onPress 的道具,这些视频位于视频的 FlatList 中。因此,如果我使用状态,它将更改整个 FlatList 中的所有视频道具,而我只想更改一个。
我创建了:const videoPlayer = []
并在每个视频播放器中添加了一个 ref,例如:ref={r => videoPlayer[item.id] = r}
,我知道我可以 videoPlayer[item.id].presentFullscreenPlayer()
全屏播放视频,因为它是播放器的方法,但是如何控制其他属性,如 resizeMode
和 paused
?
我试过videoPlayer[item.id].props.paused = false
,但是没有效果。我还想象我可以在状态中创建某种复杂的对象,但是每次我更改 属性 时整个列表都会更新,这可能会导致大列表中的 运行 刷新缓慢。
那么,有什么方法可以像我解释的那样控制每个视频的道具吗?
你绝对可以像这样使用 setNativeProps
:
videoPlayer[item.id].setNativeProps({
paused: false
})
这是一个关于它的文档页面:https://facebook.github.io/react-native/docs/direct-manipulation
我正在使用 react-native-video。我正在尝试更改每个视频 onPress 的道具,这些视频位于视频的 FlatList 中。因此,如果我使用状态,它将更改整个 FlatList 中的所有视频道具,而我只想更改一个。
我创建了:const videoPlayer = []
并在每个视频播放器中添加了一个 ref,例如:ref={r => videoPlayer[item.id] = r}
,我知道我可以 videoPlayer[item.id].presentFullscreenPlayer()
全屏播放视频,因为它是播放器的方法,但是如何控制其他属性,如 resizeMode
和 paused
?
我试过videoPlayer[item.id].props.paused = false
,但是没有效果。我还想象我可以在状态中创建某种复杂的对象,但是每次我更改 属性 时整个列表都会更新,这可能会导致大列表中的 运行 刷新缓慢。
那么,有什么方法可以像我解释的那样控制每个视频的道具吗?
你绝对可以像这样使用 setNativeProps
:
videoPlayer[item.id].setNativeProps({
paused: false
})
这是一个关于它的文档页面:https://facebook.github.io/react-native/docs/direct-manipulation