Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在React/JSX/NextJS中,是否有一种方法可以在单击gif时全屏自动打开视频?_Reactjs_Next.js_Jsx_Autoplay_React Player - Fatal编程技术网

Reactjs 在React/JSX/NextJS中,是否有一种方法可以在单击gif时全屏自动打开视频?

Reactjs 在React/JSX/NextJS中,是否有一种方法可以在单击gif时全屏自动打开视频?,reactjs,next.js,jsx,autoplay,react-player,Reactjs,Next.js,Jsx,Autoplay,React Player,用例:我有一个客户希望在他们的主页上有一个gif版本的视频,当点击时,它会打开一个全屏视频播放器。我该怎么办?我一直在用NextJS框架构建网站 我想做一些类似的事情,但不是自动播放mp4,而是自动循环视频的gif,点击gif,全屏播放mp4 任何帮助都将不胜感激-我从未在React中真正弄乱过视频。我将创建React状态并将其设置为false 然后单击gif,我会将状态更新为true 然后,当状态变为true时,使用条件语句全屏显示视频 当视频从全屏上删除时,将状态设置回false(假)没有一

用例:我有一个客户希望在他们的主页上有一个gif版本的视频,当点击时,它会打开一个全屏视频播放器。我该怎么办?我一直在用NextJS框架构建网站

我想做一些类似的事情,但不是自动播放mp4,而是自动循环视频的gif,点击gif,全屏播放mp4


任何帮助都将不胜感激-我从未在React中真正弄乱过视频。

我将创建React状态并将其设置为false 然后单击gif,我会将状态更新为true 然后,当状态变为true时,使用条件语句全屏显示视频


当视频从全屏上删除时,将状态设置回false(假)

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

只需有条件地交换组件,如本简化示例所示

if(onclick) {
  render (
    <Player />
  ) else {
    <Index />
 }
}
if(onclick){
渲染(
)否则{
}
}
您可以很好地使用state来设置条件。React中唯一的问题是组件在技术上不共享状态,但另一方面,“后台组件”只需要知道其是否在前台,以及是否接收到onClick事件。视频组件只需要知道它自己的onClick即可再次消失。因此,在这种非常特殊的情况下,两个独立的事件处理程序没有问题