装载阶段(Mounting Phase):
- 添加一个构造器(constructor),一般需要通过使用super方法来调用父级的构造器。
这个构造器只会调用一次:当一个类的实例创建的时候。
这是一个给属性赋值的好机会,(ps:this.setState只有在组件被创建并插入到DOM中之后才能调用)所以如果需要直接设置state,可以在构造器里实现。
同样的,不能在构造器里访问this.props,除非把props作为参数传到构造器里,同时也传到它的父类里,否则,这个props会返回undefined。
constructor(props) {
super(props);
console.log("App-constructor", this.props);
this.state = this.props.somthing;
}
- componentDidMount:
这个钩子函数在组件被加入DOM后调用,这是使用Ajax与服务器通信的好时机。 - 渲染方法(render):一旦渲染完成,也就意味着它的所有子组件都渲染完成了。需要注意的是,不能再无状态功能性组件中使用生命周期函数。