在Angular.js中,可以使用依赖注入.我做了一些浏览,无法找到它的实现.反应有什么类似的吗?
反应有IoC,但没有任何一个像Angular这样的DI容器的概念.也就是说,您不必拥有知道如何创建对象和传递依赖关系的容器,而是在实例化过程中将道具传递给组件(例如< MyComponent items = {this.state.items} /> ).
原文链接:https://www.f2er.com/angularjs/142894.html传递依赖作为道具不是很常见的反应世界.道具主要用于将数据传递到组件而不是服务/商店.但是,没有什么可以阻止你通过服务/商店,甚至组件作为道具(当然没有错).
React有一个上下文的概念,它是一个整个组件树的共享对象.因此,顶级组件可以说,其子树的上下文具有包含诸如UserStore,MessageStore等的对象.组件层次结构中进一步向下的组件可以表示它希望在其上下文中访问UserStore.通过说,该组件可以访问UserStore,而不必将其从顶部组件显式传递到底部,并且请求它的组件不知道如何创建/传递给它.
它有一个DI容器的好处,您可以在其中创建一个可以进一步传递的对象创建的中心位置.这是一个很好的介绍:https://www.tildedave.com/2014/11/15/introduction-to-contexts-in-react-js.html
上下文仍然是React的一个未记录的功能,这意味着它的API可以在React的任何未来版本中更改,因此您可能希望稀疏地使用它,直到成为文档.