我正在使用react-native-video。我正在尝试为视频的FlatList中的每个视频onPress更改道具。因此,如果我使用state,它将更改整个FlatList中的所有视频道具,而我只想更改一个。
我创建了:,const videoPlayer = []
并在每个视频播放器中添加了一个引用,例如: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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句