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

Lis*_*isa 3 reactjs redux react-redux

以下是我的应用程序组件:

<SystemList />
<SystemDetail />
  <WorldList />
  <WorldDetail />
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

单击SystemList中的System后,如何重置WorldDetail组件的状态?是否有意义?或者也许样机会更有意义.在此输入图像描述

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

trq*_*ong 6

您可以使用componentWillReceivePropsinside WorldDetail来更改此状态.当它收到新的道具时SystemDetail.