Javascript 在使用动态上下文数据时,如何用新的React上下文api替换旧的React上下文类型?
我有一个在html页面上呈现多个根的应用程序。 每个根用户在网站上呈现不同(或可能相同)的页面或组件。 该应用程序包含一个redux存储,因为每个根用户共享同一个应用程序。 为了避免冲突,将为每个根生成一个redux存储 现在,redux存储具有延迟负载缩减器。 在加载代码拆分组件时会添加减缩器 为了适应这种情况,在存储中添加了一个函数来调用replaceReducerFromRedux 因此,当一个组件被加载并且还需要加载减速器时,问题就出现了。 组件需要从redux提供程序访问根存储 这是通过使用旧的react上下文api中的contextTypes访问存储来实现的。包装器组件中的contextTypes提取存储的当前根实例 但是使用新的react上下文api,这似乎不兼容。 建议创建一个上下文文件,并在任何子组件中使用它。 为此,我需要将存储放入react上下文提供程序值中。 但这样做意味着react上下文将只包含一个存储实例Javascript 在使用动态上下文数据时,如何用新的React上下文api替换旧的React上下文类型?,javascript,reactjs,redux,react-redux,react-context,Javascript,Reactjs,Redux,React Redux,React Context,我有一个在html页面上呈现多个根的应用程序。 每个根用户在网站上呈现不同(或可能相同)的页面或组件。 该应用程序包含一个redux存储,因为每个根用户共享同一个应用程序。 为了避免冲突,将为每个根生成一个redux存储 现在,redux存储具有延迟负载缩减器。 在加载代码拆分组件时会添加减缩器 为了适应这种情况,在存储中添加了一个函数来调用replaceReducerFromRedux 因此,当一个组件被加载并且还需要加载减速器时,问题就出现了。 组件需要从redux提供程序访问根存储 这是通
如何使它像旧的react contextTypes一样工作,从而相应地访问根级别的提供程序上下文?我认为这里有一个误解 本质上,您想要的是使用新的上下文API读取遗留上下文(React Redux当前提供的内容,以及您使用
contextTypes
读取的内容)。这行不通。旧的和新的上下文API是完全不相关的(即使它们服务于相同的用例)
将来,当React Redux切换到新的上下文API时,您应该能够做到这一点。请注意,在任何一种情况下,都不鼓励直接将旧的上下文API与React Redux一起使用,您可能应该改用connect()
。可能会帮助您迁移到新的上下文API。
长话短说:您可以使用遗留API传递数据,并使用新API读取数据。但我不建议在你的特殊情况下这样做