react-lifecycle

constructor:不是 react 的方法,是 es6 的方法,可以在 react 中使用,调用当前组件的父级,也可以在函数中设置当前组件所需要的状态 state;

挂载阶段

  • constructor():在组件实例被创建和初始化的时候调用。通常用于初始化 state 和绑定事件处理函数。
  • static getDerivedStateFromProps(nextProps, prevState):在组件实例被创建以及接收到新的 props 时被调用。用于根据 props 来更新 state。
  • render():用于渲染 UI,必须是一个纯函数,不能有任何副作用操作。
  • componentDidMount():在组件挂载到 DOM 后立即调用。适合在这个阶段进行网络请求、订阅事件等操作。

更新阶段

  • static getDerivedStateFromProps(nextProps, prevState):当组件接收到新的 props 或者 state 发生变化时调用,用于根据新的 props 更新 state。
  • shouldComponentUpdate(nextProps, nextState):在接收到新的 props 或 state 时被调用。可以通过返回 false 来阻止组件的重新渲染,以优化性能。
  • render():在组件需要更新时被调用以重新渲染 UI。
  • getSnapshotBeforeUpdate(prevProps, prevState):在更新发生之前被调用,返回值会作为 componentDidUpdate 的第三个参数。
    -componentDidUpdate(prevProps, prevState, snapshot):在组件更新后被调用,可以在这里进行 DOM 操作或者数据更新后的处理。

卸载阶段

componentWillUnmount():在组件即将被卸载和销毁时调用。适合在这里进行清理操作,如取消网络请求、取消定时器等。