【问题标题】:whats the difference between states in constructor or not how it work构造函数中的状态之间有什么区别?
【发布时间】:2019-05-11 01:59:52
【问题描述】:

以下两个代码之间的区别是什么,即(在构造函数中的状态与否)它是如何工作的。 我们什么时候使用一个而不是另一个?

 class abc extends React.Component {
constructor(props) {
    super(props);
    this.state = {value: 0};
} 
}

这里如果我不指定这个虽然它有效

  class abc extends React.Component {
  state = {
    value: 0,
  };
  }

我很困惑,谁能解释一下

【问题讨论】:

标签: javascript reactjs class


【解决方案1】:

这是初始化 state 的另一种方式。实际上,Babel 会转译你的代码并在幕后为你添加一个构造函数。更多详情请查看这篇文章:https://maksimivanov.com/posts/react-state/

【讨论】:

    【解决方案2】:

    除了 Umair Farooq 指出的区别之外,另一个区别是,如果您将组件用作子组件并且需要传递道具,则需要您的第一个选项。顶级/父组件可以省略 contructor/super 选项。

    【讨论】:

    • 那么在没有构造函数和 super 的情况下 this.state 的工作原理是什么
    • 构造函数和super的工作不是你如何显示this.state或state。至少在反应方面,它们的主要目的是从父母那里接收道具。因此,如果您不使用接收道具的基于类的组件,则不必使用构造函数和超级
    猜你喜欢
    • 1970-01-01
    • 2014-03-12
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多