我正在React中调试ES6语法,并编写如下组件:
export default class Loginform extends React.Component { getInitialState() { return { name: '', password: '' }; }; }
但是浏览器使我警惕:
警告:getInitialState是在Loginform(普通的JavaScript类)上定义的。仅使用React.createClass创建的类支持此功能。您是要定义状态属性吗?
我可以使用传统语法来处理它,var Loginform = React.createClass但是正确的ES6语法是什么?
var Loginform = React.createClass
另一件事,我认为传统语法React.createClass是一个对象,因此其中的功能由逗号分隔,但是对于extends需要分号的类,我不太了解。
React.createClass
extends
ES6类方法声明之间不需要分号或逗号。
对于ES6类,getInitialState不赞成使用它,而赞成在构造函数中声明初始状态对象:
getInitialState
export default class Loginform extends React.Component { constructor(props, context) { super(props, context); this.state = { name: '', password: '' }; }; }