Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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
Javascript 在其他反应组件上传递道具_Javascript_Reactjs - Fatal编程技术网

Javascript 在其他反应组件上传递道具

Javascript 在其他反应组件上传递道具,javascript,reactjs,Javascript,Reactjs,我想通过道具来反应组件(没有亲子关系也没有亲子关系) 例如: <aside> <Navigation /> </aside> <main> <Video /> </main> 在我的导航上单击元素,我想更新我的视频组件状态(src) 我知道我可以更改子组件的状态,但在这种情况下..:/ 有人能帮我吗 谢谢社区 将单击处理程序传递给导航,导航将调用父组件(包含导航和视频)上的setState。你想改变的东西应该是

我想通过道具来反应组件(没有亲子关系也没有亲子关系)

例如:

<aside>
  <Navigation />
</aside>
<main>
  <Video />
</main>

在我的
导航
上单击
元素
,我想更新我的
视频
组件状态(src)

我知道我可以更改子组件的状态,但在这种情况下..:/

有人能帮我吗


谢谢社区

将单击处理程序传递给导航,导航将调用父组件(包含导航和视频)上的
setState
。你想改变的东西应该是视频上的道具。“设置状态”将使用新道具重新播放视频。

您可以这样设置状态

1创建一个函数来设置父组件中的状态

2.将其视为


3在您的
中单击此属性一种方法是将redux与react一起使用。虽然redux是学习的一大步,但一旦你掌握了它,它将帮助你轻松解决类似的问题

为了让您大致了解react与redux组合的工作原理,这里有一个非常简化的工作流

  • 所有组件都从存储在redux存储中的状态获取显示数据
  • 导航组件将在redux存储中单击某个内容或以某种方式进行更改时,向redux存储发送操作
  • redux存储中的还原程序将识别这些操作并更改redux存储中的状态
  • 更改完成后,所有组件都将使用redux存储中的新数据重新呈现

阅读参考文献,您可以返回到父组件,然后将其作为道具传递给另一个孩子Hi Rikki,我没有真正理解您的解决方案。我的组件(导航中)可以访问应用程序容器吗?(导航和视频的家长?)您好,我真的不明白:/我如何通过单击为我的视频组件设置道具?