jun*_*n w 4 javascript reactjs redux react-redux react-context
我有一个应用程序,可以在 html 页面上呈现多个根。每个根在网站上呈现不同(或可能相同)的页面或组件。该应用程序包含一个 redux 存储,因为每个根共享相同的应用程序。为了避免冲突,为每个根生成一个 redux 存储。
现在,redux 存储有惰性加载缩减器。当代码分割组件加载时,Reducer 就会被添加。
为了适应这种情况,存储中添加了一个函数来调用 redux 中的 ReplaceReducer。
因此,当加载组件并且还需要加载减速器时就会出现问题。该组件需要从 redux 提供者访问根存储。
这是使用旧的 React context api 中的 contextTypes 来访问存储来实现的。包装器组件中的 contextTypes 会拉取存储的当前根实例。
但是使用新的react context api,这似乎不兼容。建议创建一个上下文文件并在任何子组件中使用它。为此,我需要将存储放入反应上下文提供程序值中。但这样做意味着反应上下文将只保存 1 个存储实例。
如何才能使其像旧的 React contextTypes 一样工作以相应地访问根级别提供程序上下文?
我认为这里有一个误会。
本质上,您想要的是使用新的上下文 API读取遗留上下文(这是 React Redux 目前提供的内容,以及您正在阅读的内容contextTypes)。这行不通。旧版和新版上下文 API 完全不相关(即使它们服务于相同的用例)。
当将来 React Redux 切换到新的上下文 API 时,您应该能够做到这一点。请注意,无论哪种情况,都不鼓励直接将旧版上下文 API 与 React Redux 一起使用,您应该connect()改为使用。
| 归档时间: |
|
| 查看次数: |
1176 次 |
| 最近记录: |