小编典典

类扩展了React.Component在React中不能使用getInitialState

reactjs

我正在React中调试ES6语法,并编写如下组件:

export default class Loginform extends React.Component {
    getInitialState() {
        return {
          name: '',
          password: ''
        };
    };
}

但是浏览器使我警惕:

警告:getInitialState是在Loginform(普通的JavaScript类)上定义的。仅使用React.createClass创建的类支持此功能。您是要定义状态属性吗?

我可以使用传统语法来处理它,var Loginform = React.createClass但是正确的ES6语法是什么?

另一件事,我认为传统语法React.createClass是一个对象,因此其中的功能由逗号分隔,但是对于extends需要分号的类,我不太了解。


阅读 283

收藏
2020-07-22

共1个答案

小编典典

ES6类方法声明之间不需要分号或逗号。

对于ES6类,getInitialState不赞成使用它,而赞成在构造函数中声明初始状态对象:

export default class Loginform extends React.Component {
  constructor(props, context) {
    super(props, context);

    this.state = {
      name: '',
      password: ''
    };
  };
}
2020-07-22