react的生命周期有哪些?有什么须要注意的地方?react
生命周期是什么这里再也不累述了,有兴趣能够点这里函数
这里咱们以react v16.3为准学习
先上一张图优化
从图中咱们能够看出来react生命周期分为三个部分this
Mounting 英译过来叫作装备,装配的意思,在react这里咱们理解为应用加载的过程,react在这个阶段作了哪些事情咱们列举一下调试
三种状况会触发组件更新component
这三种状况在react中也会不一样的处理,forceUpdate最直接,既然是强制的那么什么好说的,直接进入render函数, 当props发生改变时会进入 getDerivedStateFromPorps函数处理完后进入shouldComponentUpdate(划重点,待会要考)更新完后进入componentDidUpdate函数cdn
有同窗应该注意到了, 上面划了一个重点 shouldComponentUpdate, 这里咱们解释一下, 这个也是react中一个可优化的点blog
shouldComponentUpdate 音译过来咱们能够猜出来一点,这个函数是能够控制组件是否须要更新的生命周期
事实也正是如此
场景随意列举一个吧, 好比你有一个大列表,这时props里一个与其不相干的属性发生变化, 进入了你的updation流程,若是你不处理那么你的页面将会进行一次无心义的渲染,这不是咱们想要看见的,若是你在shouldComponentUpdate中阻止了流程继续往下走,你就减小了页面的渲染次数,在react应用中用好shouldComponentUpdate这个是很重要的
react 为组件卸载也提供一个函数
另外还有一个图上没有提到的,却很实用的一个hook
在 16.3以前的生命周期能够你们更熟悉,这里就贴一下图不作累述了
JS每日一题能够当作是一个语音答题社区
天天利用碎片时间采用60秒内的语音形式来完成当天的考题
群主在第二天0点推送当天的参考答案