constructor
ES6中每个类的构造函数,要创建一个组件类的实例,便会调用对应的构造函数
注意:
- 并不是每个组件都需要定义自己的构造函数,无状态的React组件往往就不需要定义构造
函数;
- 一个React组件需要构造函数目的:
- 初始化state,因为组件的生命周期中任何函数都可能要访问state,那么整个周期中第一个被调用的构造函数便是初始化state最理想的地方;
- 绑定成员函数的this环境:
- 因为在ES6语法下,类的每个成员函数在执行时的this并不是和类实例自动绑定的;
- 而在构造函数中this就是当前组件实例,所以,为了方便将来调用,往往在构造函数中将这个实例的特定函数绑定this为当前类实例:
... constructor(props){ super(props); this.onClickFunc = this.onClickFunc.bind(this); }