将State初始化为类属性或构造函数[ReactJS]

时间:2017-08-23 07:06:25

标签: reactjs ecmascript-6

我已经看到两个案例设置默认状态如下:

class Page extends Component {
  state = {
    page: 0,
  };
}

VS

class Page extends Component {
  constructor(props) {
    super(props);
    this.state = { page: 0 };
  }
}

使用第一个变体这是不好的做法?我在哪里可以找到更多相关信息?或者这个ecmascript的功能是如何命名的?

1 个答案:

答案 0 :(得分:1)

如果您使用babel配置stage-2 preset,则可以使用第一个变体。它是一个类属性语法,并不是ES7提案中包含的事件,但它可以作为阶段2预设与babel一起使用。然而,使用第一或第二变体是优选的问题。他们都转变为完全相同的事情。

<强> First method:

<强> Second method