React
React生命周期
挂载阶段
1、constructor
触发时间:react构造组件挂载之前被调用
作用:super(props),用来将父元素传来的props绑定到这个类中,使用this.props获取;初始化操作,state的初始化,非箭头函数实例属性this的绑定
2、getDerivedStateFromProps
该函数会在挂载时,接收到新的props,调用了setstate或者forceUpdate时被调用
作用:一个静态方法,所以不能再这个函数里用this,这个函数有两个参数,props和state,分别指接收到的接收到的新参数和state对象,这个函数会返回一个对象来表示更新的state对象,如果没有更新,可以返回null
3、componentWillMount和UNSAFE_componentWillMount
16版本中两个方法并存,但是在17版本中,第一个函数将要被删除,目的是为了向下做兼容,对于新的应用,用getDerivedStateFromProps代替,由于这两个函数实在render之前被调用,所以在这个方法中重新调用setstate也不会触发重新渲染
4、Render 组件中必须要有这个方法
触发时间:初始化阶段和更新阶段都会被触发
作用:返回需要渲染的vdom;进行this.state和this.props的计算,必须有返回值
5、componentDidMount
调用时间:组件挂在结束后调用
作用:数据请求,并将请求的结果返回给组件的state;dom操作;第三方库实例化
更新阶段
1、componentWillReceiveProps/UNSAFE_componentWillReceiveProps
16版本两个共存,17版本会删除第一个函数,目的是做向下兼容,对于新的应用,用getDerivedStateFromProps代替他们
触发条件:组建的props发生改变时触发
作用:用于接收新的属性,然后做一些props改变的监听
2、getDerivedStateFromProps
3、shoud