gpt4 book ai didi

javascript - 使用动态上下文数据时如何用新的 React context api 替换旧的 React contextTypes?

转载 作者:行者123 更新时间:2023-11-29 18:47:12 25 4
gpt4 key购买 nike

我有一个在 html 页面上呈现多个根的应用程序。每个根在网站上呈现不同(或可能相同)的页面或组件。该应用程序包含一个 redux 商店,因为每个根共享同一个应用程序。为避免冲突,为每个根生成一个 redux store。

现在 redux store 有惰性负载 reducer 。加载代码拆分组件时会添加 reducer 。

为了适应这一点,一个函数被添加到商店以调用 replaceReducerfrom redux。

所以当一个组件被加载并且还需要加载一个 reducer 时,问题就来了。该组件需要从 redux 提供程序访问根存储。

这是通过使用旧的 React 上下文 API 中的 contextTypes 来访问商店来实现的。包装器组件中的 contextTypes 提取商店的当前根实例。

但是使用新的react context api,这似乎不兼容。建议是创建一个上下文文件并在任何子组件中使用它。这样做,我需要将商店放入 react 上下文提供程序值中。但这样做意味着 React 上下文将仅包含商店的 1 个实例。

如何让它像旧的 React 上下文类型一样工作以相应地访问根级提供者上下文?

最佳答案

我认为这里有一个误会。

本质上,您想要的是使用 new 上下文 API。这行不通。旧的和新的上下文 API 完全不相关(即使它们服务于相同的用例)。

当将来 React Redux 切换到新的上下文 API 时,您应该能够做到这一点。请注意,在任何一种情况下,都不鼓励直接将遗留上下文 API 与 React Redux 结合使用,您应该改用 connect()

关于javascript - 使用动态上下文数据时如何用新的 React context api 替换旧的 React contextTypes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52957552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com