在其他React组件

时间:2017-06-12 18:05:50

标签: javascript reactjs

我想将道具传递给React Component(没有明显而且没有下降)。

示例:

<aside>
  <Navigation />
</aside>
<main>
  <Video />
</main>
<a>上的Navigation元素上的

onClick ,我想更新我的Video组件状态(src)。

我知道我可以更改Child组件的状态,但对于这种情况..:/

任何人都可以帮助我?

谢谢社区!

3 个答案:

答案 0 :(得分:0)

将点击处理程序传递给导航,导航在父组件上调用setState(包含导航和视频)。你想要改变的东西应该是视频的道具。 setState将使视频重新呈现为新的道具。

答案 1 :(得分:0)

您可以像这样设置状态

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

2将其作为<Navigation />

的道具

3在您的<Navigation />

中使用此道具

答案 2 :(得分:0)

一种方法是将redux与react一起使用。虽然redux是一个非常大的学习步骤,但一旦你掌握了它,它将帮助你轻松解决这样的问题。

为了让您非常粗略地了解如何通过redux组合做出反应,这里的工作流程非常简化。

  • 所有组件从存储在redux商店中的状态获取显示数据。
  • 当点击某些内容或以某种方式更改时,导航组件会将操作分派给redux商店。
  • redux商店中的Reducers将识别这些操作并对redux商店中的状态进行更改
  • 完成更改后,将使用来自redux store的新数据重新呈现所有组件