如何在 react.js 中跨 child 个组件持久保存数据或状态?

How to persist data or state across child components in react.js?

好的,我正在寻找跨 child 组件持久保存数据的最佳方法。据我所知,要在 parent 和 child 之间进行通信,我应该将回调作为道具传递给 child 组件。现在,如果我需要更改 parent 的状态,我只需调用回调并设置 parent 的状态。正确吗?

但这不是我的要求。让我们考虑一个场景,我有多个 children 并且他们都共享相同的数据。我需要的是,如果我更改任何 children 中的 state/date,则数据更改也应反映在其他 child 组件中。调用回调只会改变 parent 的状态,如何更新其他 children 中传递的道具?

我希望这不会造成混淆。我在我的应用程序中使用 Flux 架构。对于使用操作和调度程序的问题,我确实有一个替代解决方案。但是,我想知道是否有更智能、更标准的方法。

只需更改 parent 的状态,这将触发 parent 的 re-render,将任何道具(即使它们相同)传递给 children,他们会 re-render 你的新状态。

无论您是将函数从 parent 传递到 children,还是让 children 通过调度程序发出操作(如果您使用 flux,这可能是首选方法无论如何),理论是一样的,parent state 改变并传递 props 给 children.