当前位置: 首页 > 面试题库 >

反应依赖注入或类似?

弓明亮
2023-03-14
问题内容

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


问题答案:

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

虽然将依赖项传递为道具在React世界中并不常见。道具通常用于将数据传递到组件,而不是服务/存储。但是,没有什么阻止您传递服务/商店甚至组件作为道具(当然也没有错)。

React具有a的概念,a
context是整个组件树的共享对象。因此,顶层组件可以说其子树的上下文有一个对象,其中包含诸如UserStore,MessageStore等之类的东西。然后,组件层次结构中更深的组件可以说它希望在其上下文中访问UserStore。如此说来,该组件可访问UserStore,而不必将其从顶部组件显式传递到底部,并且请求它的组件不知道它是如何创建/传递给它的。

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

上下文仍然是React尚未公开的功能,这意味着它的API可以在React的任何后续版本中进行更改,因此您可能需要稀疏使用它,直到它被编写了文档。



 类似资料:
  • 在React中,想做依赖注入(Dependency Injection)其实相当简单。请看下面这个例子: // Title.jsx export default function Title(props) { return <h1>{ props.title }</h1>; } // Header.jsx import Title from './Title.jsx'; export defa

  • 依赖注入 Dependency Injection is a strong mechanism, which helps us easily manage dependencies of our classes. It is very popular pattern in strongly typed languages like C# and Java. 依赖注入是一个很强大的机制,该机制可以帮

  • 简介 Hyperf 默认采用 hyperf/di 作为框架的依赖注入管理容器,尽管从设计上我们允许您更换其它的依赖注入管理容器,但我们强烈不建议您更换该组件。 hyperf/di 是一个强大的用于管理类的依赖关系并完成自动注入的组件,与传统依赖注入容器的区别在于更符合长生命周期的应用使用、提供了 注解及注解注入 的支持、提供了无比强大的 AOP 面向切面编程 能力,这些能力及易用性作为 Hyper

  • 出自维基百科 Wikipedia: 依赖注入是一种允许我们从硬编码的依赖中解耦出来,从而在运行时或者编译时能够修改的软件设计模式。 这句解释让依赖注入的概念听起来比它实际要复杂很多。依赖注入通过构造注入,函数调用或者属性的设置来提供组件的依赖关系。就是这么简单。

  • 2.1依赖注入和控制反转 Java应用程序-这是一个宽松的术语,它包括的范围从受限的嵌入式应用程序到n层的服务器端企业应用程序-通常组成程序的对象互相协作而构成正确的应用程序。因此,在一个应用程序中的对象彼此具有_依赖关系(dependencies)。_ 虽然Java平台提供了丰富的应用程序开发功能,但它缺乏将基本的模块组织成一个整体的方法,而将该任务留给了架构师和开发人员。虽然你可以使用如_工厂

  • 2.1 依赖注入和控制反转 Java应用程序——范围从受限的、嵌入式的应用到N层的、服务器端的企业应用——通常由协作形成该程序的对象构成,因此一个应用程序中的对象彼此依赖。 虽然Java平台提供了大量的程序开发功能,但是它缺少将基础构建块组成一个整体的工具,而将此任务留给了架构师和开发者。尽管可以利用设计模式(比如Factory、Abstract Factory、Builder、Decorator