react中,constructor和getInitialState的区别

1,ES6语法

使用class声明一个类,且要继承react组件的方法和属性的时候 :

在里面我们可以直接指定 this.state = { }, 我们可以当前组件内任何地方使用 this.setState()来改变组件状态;

注意: 将类的方法绑定到当前对象,避免在方法内部this指针被覆盖

class PCHeader extends React.Component {
constructor() {
super();
this.state = {
userNickName: '用户',
userId: 0
};
  this.handleClick = this. handleClick.bind(this);
 }
}

2,Es5 语法

如果使用createClass方法创建一个Component组件,可以自动调用它的getInitialState方法来获取初始化的State对象,但是在ES6的Class中并不会如此自动调用,因此,要稍作修改。

var PCHeader = React.creatClass ({

  getInitialState() {
return {
userNickName: '用户',
userId: 0
};
 }
})
上一篇:我用ANDROID STUDIO开发,页面上总包这个警告,很烦!网上说是sdk版本问题,但是我是基于25开发的,最小版本也是19,有没有老司机啊?3克油


下一篇:怎样用DOS命令创建txt文本文档