相关疑难解决方法(0)

在组件之间路由时如何保持 React 新的 Context API 状态?

概括:

1) 您知道如何在通过路由挂载/卸载 Context Provider 时保持其状态吗?2)或者你知道一个维护良好的 Flux 实现,它支持多个独立的商店?

详细:

除了 React 组件自己的状态,到目前为止我主要使用的是 redux。除了不喜欢全局管理每个状态的想法之外,即使它可能只与子树相关,它也会成为我的新项目的一个问题。

我们希望动态加载组件并通过路由添加到应用程序。为了让组件准备好即插即用,我们希望它们处理自己的状态(存储它,从服务器请求它,提供修改它的策略)。

我阅读了如何使用 redux 动态地将 reducer 添加到全局存储中,但我实际上发现 Reacts Context API 的方法更好,我可以在 Provider 中封装一些状态,并且可以在我需要的任何地方使用它。

我唯一的问题是,Provider 和 Consumer 是 React 组件,所以如果它们是组件的一部分,通过路由挂载和卸载,那么可能已经创建或获取一次的状态就消失了。

在我看来,除了暂时将状态存储在本地存储或服务器上之外,没有办法解决这个问题。有的话请告诉我!!!

如果不应该有更好的解决方案:

我还考虑了一个更原始的 Flux 实现,它允许多个存储,可以用相关的组件子树封装。但是除了 Redux 之外,我还没有真正找到任何维护良好的 Flux 实现。Mobx 是个例外,但我真的更喜欢 Redux 的 reducer 解决方案,而不是 Mobx 的可观察解决方案。再说一次,如果您知道维护良好的多商店 Flux 实现,请告诉我!!!

我会对一些反馈感到非常高兴,并希望您能将我指向一个比动态减速器 Redux 或临时持久化上下文状态更令人满意的方向。

非常感谢!

reactjs react-router react-context

5
推荐指数
1
解决办法
2857
查看次数

标签 统计

react-context ×1

react-router ×1

reactjs ×1