在不丢失状态的情况下响应本机 Teleport 组件

问题描述 投票:0回答:1

我正在使用 React Native 0.62 和 react-native-video

我需要添加一个具有全屏选项的视频播放器。该要求特别需要在普通视图和全屏视图中自定义控件。 iOS 中的本机全屏不允许自定义控件,因此我通过在模态中显示全屏视频开发了一个内部解决方案。问题就从这里开始了...

当在模式中将组件从普通视图移动到全屏时,它会丢失所有内部引用和状态。我能够通过将这些内容放在播放器之外来恢复大部分内容(例如进度和播放/暂停状态)。但是我仍然丢失所有视频缓存和缓冲,并且视频再次重新加载。

任何人都可以建议一种在 DOM 中移动组件而不丢失其内部状态的方法吗?

到目前为止我尝试过的事情:

  • 提供组件的密钥
  • 使用Context在父级中渲染播放器,并使用wrapperComponent在其周围放置模态框。
  • 查看门户网站,但找不到解决此问题的任何可能的解决方案。
javascript reactjs react-native portal react-native-video
1个回答
0
投票

我对支持自定义控件的react-native-video和全屏模式有完全相同的问题。

我尝试了Portals,但没有成功,因为视频无法播放,并且还使用受上下文启发的传送方法自定义实现Portals,但没有任何效果。 你找到解决办法了吗?知道如何实施吗?预先感谢!

© www.soinside.com 2019 - 2024. All rights reserved.