如何在反应中重置子组件的状态

时间:2016-04-17 10:45:17

标签: reactjs redux react-redux

以下是该应用的组件:

<SystemList />
<SystemDetail />
  <WorldList />
  <WorldDetail />

数据结构是有几个系统,每个系统都有几个世界。每个世界都有详细的信息。

在反应中,当单击每个系统时,它有一个动作来获取activeSystem,然后SystemDetail将呈现信息。在SystemDetail内部,它有两个名为WorldList和WorldDetail的子组件。单击世界列表时,可以显示世界详细信息。

所以我的应用程序在单击系统列表后工作正常,它会进入系统详细信息,然后在单击世界列表后,它将获得世界详细信息。但是,我在重置世界细节方面遇到了问题,这意味着当我再次点击系统列表时,世界细节仍会显示前一个世界。

我尝试设置组件的密钥,但它不起作用。我也试图传递道具,或重置道具,它也没有工作。

如何在单击SystemList中的System后重置WorldDetail组件的状态?是否有意义?或者也许模型会更有意义。enter image description here

我很反应和减少,所以任何帮助都会很棒!

1 个答案:

答案 0 :(得分:6)

您可以使用componentWillReceiveProps内的WorldDetail来更改此状态。当它从SystemDetail收到新道具时。