小编典典

在 React / React Native 中使用构造函数与 getInitialState 有什么区别?

all

我见过两者可以互换使用。

两者的主要用例是什么?有优点/缺点吗?一种更好的做法吗?


阅读 124

收藏
2022-03-03

共1个答案

小编典典

这两种方法不可互换。使用 ES6 类时应在构造函数中初始化状态,getInitialState使用React.createClass.

请参阅有关 ES6 类主题的官方 React 文档

class MyComponent extends React.Component {
  constructor(props) {
    super(props);
    this.state = { /* initial state */ };
  }
}

相当于

var MyComponent = React.createClass({
  getInitialState() {
    return { /* initial state */ };
  },
});
2022-03-03