在初始渲染之后,状态不会更新UI,直到我导航回根目录(发生刷新的位置)
这是有问题的,因为当我在根目录中对状态进行异步调用/更改时,我希望导航窗口能够反映更新后的状态更改。
我认为这是因为初始状态加载/服务器渲染发生在root并且没有适当更新。
我已经研究过使用store.subscribe(render),但是根据Redux文档:
//您可以使用subscribe()更新UI以响应状态 更改,如React Redux而不是直接订阅()。
//通常你会使用视图绑定库(例如React
)
我也尝试过使用componentWillMount,但这对我来说并没有多大意义(也没有用)。
TLDR:
根组件中的状态更改不会向下传播到子组件(尽管它们会反映在根组件级别上)
当不涉及任何异步操作时,我只能获得渲染(即我在内存中保留异步数据结构的副本,变异,然后减少它)
解决方案
这可能是因为在初始异步提取之后,我没有调用" fetch"异步调用后再次。我在进行异步调用后初始化另一次获取。
我保持"客户端"在内存中状态并同时写入DB。我不喜欢这样,因为它似乎很容易受到状态树和数据库之间不一致的影响。
将状态保存在本地存储中,当" session"关闭