2

我正在使用 react-native-video。我正在尝试更改每个视频 onPress 的道具,它们位于视频的 FlatList 中。因此,如果我使用状态,它将更改整个 FlatList 中的所有视频道具,而我只想更改一个。

我创建了:const videoPlayer = []并在每个视频播放器中添加了一个引用,例如:ref={r => videoPlayer[item.id] = r},我知道我可以videoPlayer[item.id].presentFullscreenPlayer()全屏播放视频,因为它是播放器的一种方法,但是如何控制其他属性,比如resizeModepaused

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

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

4

1 回答 1

5

你绝对可以setNativeProps像这样使用:

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

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

于 2019-10-22T04:53:27.633 回答