,大家好,我是前端西瓜哥。今天来过一下 React 类函数的生命周期。,React 中类组件的生命周期函数,分为挂载、更新、卸载三种:,相关的拦截器:,更新状态的方法:,旧版生命周期:,
,新版生命周期:,
,该生命周期函数会在组件挂载的时候触发。所谓挂载,指的是真实 DOM 元素添加到文档树上。,使用场景是做一些初始化操作:,组件更新的时候调用 componentDidUpdate。组件挂载的时候不会触发。,该函数接收三个参数:,使用场景是放置状态改变时需要执行的逻辑:,其实我们在业务中最常使用的生命周期函数,因为前端绝大多数的场景是交互导致状态改变,并执行一些行为。,例子:,组件在卸载前会调用 componentWillUnmount。,通常都是做一些解除绑定的收尾工作,防止错误和内存泄漏:,例子;,从 props 得到派生的 state。getDerivedStateFromProps 在挂载和更新的阶段都会被执行,并在 render 前触发。,它是类组件的静态属性,接收 props 和 state,然后它的返回值是个对象,会合并覆盖到 state 上。,例子:,该方法不推荐使用,很多场景其实并没有必要用到这个方法,因为它会引起 state 的突变,可读性并不好。因为如果你没看到这个方法,你可能会很奇怪 state 的改变怎么没有符合预期。能不用就不用。,接收新的 props 和 state,由开发者自行决定是否进行重渲染。,会拿到新的 props 和 state,返回 true 表示要进行更新和重渲染,返回 false 则中断更新。准确来说,任何返回值都可以,它们会直接作为 if 语句的判断表达式进行判断。,如果返回了 false,状态会保持之前的样子。,强制更新(this.forceUpdate)不会走这个函数,因为你都说了要 “强制更新” 了。,一些生命周期函数因为容易产生 bug,以及在 react 底层重构后可能会在一次更新中多次被触发,现已废弃,并加上 UNSAFE_ 前缀。,以上就是 React 的一些生命周期函数。
© 版权声明
文章版权归作者所有,未经允许请勿转载。