0

用例:我有一个客户希望在他们的主页上显示一个视频的 gif 版本,单击该视频会打开一个全屏视频播放器。我该如何管理?我一直在 NextJS 框架中构建网站。

我想做这样的事情,不是自动播放 mp4,而是自动循环播放视频的 gif,然后单击 gif,全屏播放 mp4。

任何帮助将不胜感激 - 我从来没有真正搞砸过 React 中的视频。

4

2 回答 2

0

我会创建一个反应状态并将其设置为 false 然后 onClick 的 gif 我会将状态更新为 true 然后有一个条件语句在状态变为 true 时全屏显示视频

并在从全屏删除视频时将状态设置回 false

于 2021-05-12T16:13:23.253 回答
0

没有一种方法可以做到这一点,但 React 的美妙之处在于组件。你肯定会朝着正确的方向前进。我实际上会做两个独立的组件,一个用于背景,一个用于视频播放器。这是在代码中分离关注点的更清洁和良好的做法。

只需有条件地交换组件,就像在这个简化的例子中一样;

if(onclick) {
  render (
    <Player />
  ) else {
    <Index />
 }
}

您可以很好地使用状态来设置条件。React 中唯一的问题是组件在技术上不共享状态,但另一方面,“后台组件”只需要知道它是否在前台以及是否接收到 onClick 事件。video 组件只需要知道它自己的 onClick 就可以让它再次消失。因此,在这种非常特殊的情况下,两个单独的事件处理程序是没有问题的。

于 2021-05-12T16:47:44.573 回答