如何使用 ref 在 React Native Video 中编辑视频播放器道具
Posted
技术标签:
【中文标题】如何使用 ref 在 React Native Video 中编辑视频播放器道具【英文标题】:How to edit video player props in React Native Video using ref 【发布时间】:2019-10-22 02:18:34 【问题描述】:我正在使用 react-native-video。我正在尝试更改每个视频 onPress 的道具,它们位于视频的 FlatList 中。因此,如果我使用 state,它将更改整个 FlatList 中的所有视频道具,而我只想更改一个。
我创建了:const videoPlayer = []
并在每个视频播放器中添加了一个引用,例如:ref=r => videoPlayer[item.id] = r
,我知道我可以使用videoPlayer[item.id].presentFullscreenPlayer()
全屏播放视频,因为它是播放器的一种方法,但那又如何呢?控制 resizeMode
和 paused
等其他属性?
我试过videoPlayer[item.id].props.paused = false
,但是没有效果。我还想象我可以在状态中创建某种复杂的对象,但是每次我更改属性时整个列表都会更新,这可能会导致大列表中的刷新运行缓慢。
那么,我有没有办法像我解释的那样控制每个视频的道具?
【问题讨论】:
【参考方案1】:你绝对可以使用setNativeProps
,比如:
videoPlayer[item.id].setNativeProps(
paused: false
)
这是一个关于它的文档页面:https://facebook.github.io/react-native/docs/direct-manipulation
【讨论】:
这正是我想要的。谢谢!以上是关于如何使用 ref 在 React Native Video 中编辑视频播放器道具的主要内容,如果未能解决你的问题,请参考以下文章
如何使用有限的数组在React Native中使平面列表无限滚动
有啥方法可以在 React Native 中使用 ref 获取 TextInput 的文本值?
React-native refs 和 Expo Camera
使用 TypeScript 在 React Native 上传递 refs:(属性) React.MutableRefObject<null>.current: null Object i