好的,我正在寻找在子组件中保留数据的最佳方法。据我所知,要在父母和孩子之间进行交流,我应该将回调作为道具传递给子组件。现在,如果我需要更改父级的状态,我只需调用回调并设置父级的状态。正确的吗?
但这不是我的要求。让我们考虑一个场景,我有多个孩子,他们都共享相同的数据。我需要的是,如果我更改任何子项中的状态/日期,那么数据更改也应反映在其他子组件中。调用回调只会改变父级的状态,如何更新其他子级中传递的道具?
我希望这不会令人困惑。我在我的应用程序中使用Flux架构。我使用动作和调度程序为我的问题提供了另一种解决方案。但是,我想知道是否有更聪明,更标准的方法。
答案 0 :(得分:3)
只需更改父级的状态,即触发父级的重新渲染,将任何道具(即使它们是相同的)传递给子级,并且它们将使用新状态重新渲染。
无论是将一个函数从父级传递给子级,还是让子级通过调度程序发出一个动作(如果你还在使用flux,这可能是首选的方法),理论是相同的,父状态改变和传递给孩子的道具。