生命週期就是指一個 React Component 在被創建到被銷毀的過程中,會經歷的一系列階段。
Mount 流程會在 component 以 React component 的形式第一次出現在畫面上時觸發。
appendChild()
將生成的 DOM element 掛載到實際的瀏覽器 DOM 上。執行 useEffect hook 中的 副作用。
Update 流程會在 component 存在於畫面中,當 component 的 props 或 state 資料發生變化時觸發 re-render。在 react 中能夠觸發 re-render 的手段就是使用 setState
去更新 state 資料,而 component 有可能會因為父層或祖父層的 component setState
去更新 state 而傳入新的 props 而觸發 re-render;也有可能因為 component 本身 state 更新了而觸發 re-render。
只會去操作新舊 react element 差異所對應的實際 DOM element。
執行前一次 useEffect hook 中定義的清除副作用 cleanup 函式。
當 component 在 re-render 後在新畫面中被移除時,就會觸發 unmount 流程。