gpt4 book ai didi

reactjs - 为什么状态管理库使用 React 的上下文来进行依赖注入(inject)?

转载 作者:行者123 更新时间:2023-12-05 07:42:29 25 4
gpt4 key购买 nike

我查看了两个著名的 React 状态管理库的源代码,发现它们都使用 React 的上下文作为依赖容器( Mobx ProviderRedux Provider )。另一方面,我发现尝试不对库(特别是上下文)使用 React 相关结构是一种很好的做法,我认为可以为依赖容器创建一个单独的模块。这是我想法的一个天真实现:

let container = {};

const register = (obj) => {
Object.assign(container, obj);
}

const getAll = () => container;

export { getAll, register };

我错过了什么吗?是否存在仅使用模块无法支持的边缘情况?为什么他们在 React 中使用上下文作为依赖容器?

最佳答案

Context 提供了一种通过组件树传递数据的方法,而无需在每个级别手动传递 props。这有助于这些库通过使用附加功能来包装整个应用程序组件,从而控制整个应用程序组件。

虽然是 Sebastian Markbage,但 React 团队已经提到没有考虑到高频更新而构建的 Context API。

查看链接了解更多信息:https://github.com/mobxjs/mobx-react-lite/issues/62

尝试 Rootz JS

关于reactjs - 为什么状态管理库使用 React 的上下文来进行依赖注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44494308/

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