如何使用 ref 在 React Native Video 中编辑视频播放器道具

Ron*_*ald 2 react-native react-native-video

我正在使用 react-native-video。我正在尝试更改每个视频 onPress 的道具,这些道具位于视频的 FlatList 中。所以如果我使用 state 它将改变整个 FlatList 中的所有视频道具,而我只想改变一个。

我创建:const videoPlayer = []在每个视频播放像添加了一个参考:ref={r => videoPlayer[item.id] = r},我知道我能做到videoPlayer[item.id].presentFullscreenPlayer()在全屏播放的视频,因为它是玩家的一种方法,但如何控制像其他的属性resizeModepaused

我试过了videoPlayer[item.id].props.paused = false,但没有效果。我还想象我可以在 state 中创建某种复杂的对象,但是每次更改属性时整个列表都会更新,这可能会导致大列表中的刷新运行缓慢。

那么,有没有办法像我解释的那样控制每个视频的道具?

小智 5

你绝对可以使用setNativeProps像:

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

这是一个关于它的文档页面:https : //facebook.github.io/react-native/docs/direct-manipulation