我的问题是一个概念性的问题,基于这篇文章中概述的问题: React Redux capture updated store state after updates database。我认为不需要任何代码来理解或能够回答它。但如果不是,它在上面的链接中。
我想我可能错过了一个关于在更改状态变量反映的后端数据的操作之后的 react/redux 状态更新过程的小细节。我的问题是:当我发送一个保存操作时,我是否也应该发送一个请求来更新依赖于底层数据的任何状态?
例如,现在我正在考虑和实现我的代码的方式如下:
应用程序在 componentDidMount 上启动并
ParentComponent
加载和分派GET_DATA
,它初始化data
反映ParentComponent
在表中的状态变量当一个链接被点击时
ParentComponent
,ParentComponent
渲染ChildComponent
这是一个显示元素的react模式弹出窗口,data
以便它可以更新Save and Close
ChildComponent 上有 和按钮;当您单击该按钮时,将SAVE_DATA
被分派,并将data
对其所做的更改ChildComponent
保存到数据库中- 这就是我的问题出现的地方……在这一点上,我还应该打电话
GET_DATA
来派遣data
我所在州的“刷新”过程吗?在使用 redux 以便data
更新所有依赖的组件时,这是否是处理将数据保存到数据库的正确方法?
注意:我目前正在做的是,在第 3 步之后,我只是触发了一个刷新函数,ParentComponent
以便它重新渲染并因此反映data
在状态中。我刚刚顿悟的是,data
状态无法反映新保存的数据,因为GET_DATA
在保存和重新渲染组件后未分派不会触发GET_DATA
。
我的假设正确吗?我应该GET_DATA
在我的 ParentComponent 中的其他地方调用ComponentWillReceiveProps
吗?我在这里遇到的问题是,也许我做错了什么,但它触发了一个无限循环。不知怎的,虽然我觉得是我可以解决我的需要调度的唯一地方GET_DATA
局部后ParentComponent
状态被设定改变refresh
(一个ParentComponent
状态变量)true
。