gpt4 book ai didi

angularjs - React 依赖注入(inject)或类似的?

转载 作者:行者123 更新时间:2023-12-03 13:00:53 27 4
gpt4 key购买 nike

在 Angular.js 中可以使用依赖注入(inject)。我进行了一些浏览,但找不到它的实现。 React 有类似的东西吗?

最佳答案

React 有 IoC,但没有像 Angular 这样的 DI 容器的概念。也就是说,您不需要拥有知道如何创建对象并传递依赖项的容器,而是通过在实例化组件时将 props 传递给组件来显式传递它们(例如 <MyComponent items={this.state.items} /> )。

尽管如此,将依赖项作为 props 传递在 React 世界中并不常见。 Props 主要用于将数据传递给组件而不是服务/存储。但是没有什么可以阻止您将服务/商店甚至组件作为 Prop 传递(当然这没有任何问题)。

React 有一个 context 的概念这是整个组件树的共享对象。因此,顶级组件可以说其子树的上下文有一个对象,其中包含 UserStore、MessageStore 等内容。然后,组件层次结构中更下方的组件可以说它想要访问其上下文中的 UserStore。也就是说,该组件可以访问 UserStore,而无需显式地将其从顶部组件传递到底部,并且请求它的组件不知道它是如何创建/传递给它的。

它具有 DI 容器的优点,您可以在其中创建对象的中心位置,并可以进一步向下传递。这是对上下文的一个很好的介绍:https://www.tildedave.com/2014/11/15/introduction-to-contexts-in-react-js.html

上下文仍然是 React 的一个未记录的功能,这意味着它的 API 可以在任何即将推出的 React 版本中更改,因此您可能希望稀疏地使用它,直到它被记录下来。

关于angularjs - React 依赖注入(inject)或类似的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30311081/

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