reactjs - 如何在 react 中重置子组件状态

标签 reactjs redux react-redux

这是我的应用程序组件:

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

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

在react中,当点击每个系统时,都有一个获取activeSystem的action,然后SystemDetail会渲染信息。在 SystemDetail 内部,它有两个子组件,分别称为 WorldList 和 WorldDetail。当点击世界列表时,有一个显示世界详细信息的 Action 。

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

我尝试设置组件的 key ,但没有成功。我也尝试过传递 Prop ,或者重置 Prop ,也没有用。

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

我对 React 和 Redux 还很陌生,所以任何帮助都会很棒!

最佳答案

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

关于reactjs - 如何在 react 中重置子组件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36675507/

相关文章:

reactjs - reducer 未定义

javascript - 在react中上传图像不返回表单数据值

javascript - 找不到模块 : Can't resolve 'react-dom/lib/ReactPerf' in '\node_modules\react-addons-perf'

javascript - react 路由器,redux, Electron : router isn't rendering

reactjs - react-redux 类型文件中的 TypeScript 错误

javascript - React-Redux 设计模式 : Should a "deep" component be wired to Redux, 或从父组件接收 props?

javascript - React Router v4 带 Switch 的嵌套路由

javascript - 为什么即使旧状态等于新状态,使用相同值调用 useState 的 setter 随后也会触发组件更新?

reactjs - 为什么当我使用 redux 时 axios.get 不起作用?

javascript - 将扫描条形码的类型或数据写入 REACT-NATIVE 上的文本输入中