我有一个在 html 页面上呈现多个根的应用程序。每个根在网站上呈现不同(或可能相同)的页面或组件。该应用程序包含一个 redux 商店,因为每个根共享同一个应用程序。为避免冲突,为每个根生成一个 redux 存储。
现在 redux 商店有惰性负载减速器。在加载代码拆分组件时添加减速器。
为了适应这种情况,商店中添加了一个函数来从 redux 调用 replaceReducer。
因此,当加载组件并且还需要加载减速器时,问题就出现了。该组件需要从 redux 提供者访问根存储。
这是使用旧的 react 上下文 api 中的 contextTypes 来访问商店来实现的。包装器组件中的 contextTypes 拉取存储的当前根实例。
但是使用新的 react context api,这似乎不兼容。建议是创建一个上下文文件并在任何子组件中使用它。这样做,我需要将商店放入反应上下文提供者值中。但是这样做意味着反应上下文将只保存 1 个商店实例。
如何使它像旧的 react contextTypes 一样工作以相应地访问根级别提供程序上下文?