当前位置: 首页 > 知识库问答 >
问题:

在ReactJS中componentWillMount和componentDidMount之间有什么区别?

缪英锐
2023-03-14

我看了Facebook的留档(React.Component),它提到了如何在客户端/服务器上调用组件WillMount,而组件DDMount仅在客户端上调用。对服务器做什么?

共有3个答案

夹谷飞龙
2023-03-14

除了FakeRainBrigand所说的之外,componentWillMount在服务器和客户端上被调用,但是componentDidMount仅在客户端上被调用。

太叔经赋
2023-03-14

constructor方法与componentWillMount不同。

根据Redux的作者的说法,从构造函数分派操作是有风险的,因为它可能会导致渲染时状态的突变。

但是,从组件WillMount进行调度就可以了。

从github问题:

当一个组件的构造函数中的dispatch()导致另一个组件中的setState()时,就会发生这种情况。React跟踪此类警告的“当前所有者”,它认为我们在构造函数中调用setState(),而从技术上讲,构造函数在应用程序的其他部分中导致setState()。我认为我们不应该处理这件事,只是尽力做好它的工作。正如您正确指出的,解决方案是在componentWillMount()内部分派()。

彭弘方
2023-03-14

componentWillMount本质上是构造函数。您可以设置不影响渲染的实例属性、同步地从存储中提取数据并使用它设置状态,以及设置组件时需要运行的其他简单无副作用的代码。

它很少需要,ES6课程也不需要。

 类似资料:
  • 问题内容: 我在(React.Component)上查看了Facebook的文档,其中提到了如何在客户端/服务器上调用而仅在客户端上调用。这是什么做的服务器? 问题答案: componentWillMount本质上是构造函数。您可以设置不影响渲染的实例属性, 同步 从存储中提取数据并使用setState 设置实例属性,以及设置组件时需要运行的其他简单的无副作用的代码。 它很少需要,ES6类根本不需

  • 问题内容: 在此示例中: 无法编译为: 而被编译器接受。 这个答案说明唯一的区别是,与不同,它允许您稍后引用类型,似乎并非如此。 是什么区别,并在这种情况下,为什么不第一编译? 问题答案: 通过使用以下签名定义方法: 并像这样调用它: 在jls§8.1.2中,我们发现(有趣的部分被我加粗了): 通用类声明定义了一组参数化类型(第4.5节), 每种可能通过类型arguments调用类型参数节的类型

  • 问题内容: 我想更改密钥的值,例如在“第一代码”部分中。我知道不推荐这样做。但是第二个代码是异步的,我不想使用的回调函数。 是什么的差异和? 有什么办法可以立即更改状态值? 第一个代码: 第二个代码: 加: 该方案是: 设置在。 单击按钮时将变为。 将在提交时更改为。 首次点击没有问题,并将其设置为。 但是使用时,第二次单击将是错误的,因为仍然可以,而可以解决问题。 问题答案: 这是React文档

  • 问题内容: 我是AngularJS的新手。谁能解释一下这些AngularJS运算符之间的区别:用适当的示例隔离范围时。 问题答案: 允许将在指令属性上定义的值传递到指令的隔离范围。该值可以是简单的字符串值(),也可以是带有嵌入式表达式()的AngularJS插值字符串。将其视为从父作用域到子指令的“单向”通信。 允许指令的隔离范围将值传递到父范围中,以便在属性中定义的表达式中进行求值。请注意,指令

  • 我对Keras中的和感到困惑。他们之间有什么区别?我认为第一个是一个层,第二个是一个后端函数,但这意味着什么?在Conv2D中,我们发送过滤器的数量、过滤器的大小和跨步(但是在Conv2D中,我们使用内核是什么(64,3,3),我们把过滤器的数量和大小放在一起?我应该在哪里输入内核数?你能帮我解决这个问题吗?非常感谢。 pytorch中的代码 Keras中已更改的代码 但当我执行代码时,它会产生以

  • 在Eclipse中,modulepath和classpath之间有什么区别,我应该使用哪一个在lib文件夹中添加一个jar?为什么JRE系统库会出现在ModulePath中?