react新旧生命周期


旧生命周期分为3个阶段

挂载
getDefaultProps:初始化组件的props
getInitialState:初始化组件的state
componentWillMount:react16已废除
render:返回一个jsx对象,根据props和state渲染组件
componentDidMout:只能调用一次,用来发起ajax请求

更新
shouldComponentUpdate(nextProps,nextState):组件是否更新,返回一个bool值
componentWillUpdate:已废弃
componentDidUpdate(prevProps, prevState):
componentWillReceiveProps(nextProps):已废弃

卸载
componentWillUnmount:即将卸载,用来清除timer,取消网络请求和在已经挂载后创建的订阅

新生命周期

挂载
constructor
getDerivedStateFromProps:在render之前使用,返回一个对象来更新state,返回null则不更新,不推荐使用。适用于罕见的情况,即state的值在任何时候都取决于props
render
componentDidMount

更新
getDerivedStateFromProps
shouldComponentUpdate
render
getSnapshotBeforeUpdate(prevProps, preState):必须有返回值,作为第三个参数传给componentDidUpdate
componentDidUpdate

卸载
componentWillUnmount:即将卸载,用来清除timer,取消网络请求和在已经挂载后创建的订阅