如何在 react.js 中跨子组件持久化数据或状态

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

本文关键字:持久化 组件 数据 状态 react js      更新时间:2023-09-26

好的,我正在寻找跨子组件持久化数据的最佳方法。据我所知,要在父组件和子组件之间进行通信,我应该将回调作为 props 传递给子组件。现在,如果我需要更改父项的状态,我只需调用回调,它就会设置父项的状态。正确?

但这不是我的要求。让我们考虑一个场景,我有多个孩子,并且所有孩子共享相同的数据。我需要的是,如果我更改任何子组件中的状态/日期,则数据更改也应反映在其他子组件中。调用回调只会改变父级的状态,如何更新其他子项中传递的 props?

我希望这不会令人困惑。我在我的应用程序中使用了 Flux 架构。我确实有一个使用操作和调度程序来解决我的问题的替代解决方案。但是,我想知道是否有更智能和标准的方法。

只需更改父项的状态,这将触发父项的重新渲染,将任何道具(即使它们是相同的)传递给子项,它们将使用您的新状态重新渲染。

无论你是将函数从父级传递给子级,还是让子级通过调度程序发出动作(如果你使用 flux 的话,这可能是首选方法),理论是一样的,父状态会改变并将 props 传递给子级。