react新舊生命週期
阿新 • • 發佈:2021-07-07
舊生命週期分為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
解除安裝
componentWillUnmount:即將解除安裝,用來清除timer,取消網路請求和在已經掛載後建立的訂閱