概念
生命周期函数是指在某一个时刻组件会自动执行的函数。
-
componentWillMount
在组件即将被挂载到页面的时候,自动执行。(仅第一次)
-
render
父组件执行,则子组件也会跟着执行该钩子。
-
componentDidMount
在组件被挂载到页面之后,自动执行。(仅第一次)
-
shouldComponentUpdate
组件被更新之前,自动执行,需要返回一个boolean值。
-
componentWillUpdate
组件被更新前,自动执行;在shouldComponentUpdate之后,根据shouldComponentUpdate返回的boolean值决定是否执行。
-
componentDidUpdate
组件更新完成之后,自动执行。
-
componentWillReceiveProps
一个子组件接收父组件的参数,子组件首次存在于父组件中时不会执行,子组件再次存在于父组件时该函数才会执行。
-
componentWillUnmount
组件即将从页面剔除的时候自动执行。
使用场景
-
componentDidMount
发送ajax请求(理论上constructor函数中也可以)
-
shouldComponentUpdate
避免子组件render做无谓的执行,提升性能。
react的性能提升
-
作用域
作用域的修改写于constructor中,保证整个程序中, 函数作用域的绑定操作只会执行一次。
-
setState
异步函数,可以将多次state的改变整合成一次,降低虚拟DOM的比对频率。
-
虚拟DOM
同层对比+key,提升虚拟DOM比对的效率。