掛載時(4個),更新時(5個),解除安裝時(1個),錯誤處理階段(2個)。一共有12個鉤子。
constructor(props) ; //初始化state。
this.handleclick = this.handleclick.bind(this);
}
static getderivedstatefromprops(nextprops, prevstate) = nextprops;
// 當傳入的type發生變化的時候,更新state
if (type !== prevstate.type) ;
}// 否則,對於state不進行任何操作
return null;
}
***:(乙個函式在執行過程中產生了外部可觀察的變化,比如:修改全域性變數,修改傳參,console.log()等外部可觀察它的變化。)
注意:還有三個生命週期方法已經過時,在react17版本後會被淘汰,但現在仍然有效,分別是:unsafe_componentwillmount()、unsafe_componentwillreceiveprops(nextprops)、unsafe_componentwillupdate(nextprops, nextstate)
經典 必考 React高頻面試題
初始化階段 constructor 建構函式 getdefaultprops props預設值 getinitialstate state預設值 掛載階段 componentwillmount 元件初始化渲染前呼叫 render 元件渲染 componentdidmount元件掛載到 dom後呼叫 ...
React常見面試題 原理篇
函式返回值是乙個vnodevnode在通過patch函式進行渲染 如下是乙個迴圈的編譯 const listelem index title li ul 編譯結果如下 var listelem pure react.createelement ul null,void0 state.list.map...
前端面試題(二)vue和react的區別
區別設計思想 react 1 函式式思想,all in js jsx語法,js操控css 2 單項資料流 3 setstate重新渲染 4 每當應用的狀態被改變時,全部子元件都會重新渲染。當然,這可以通過shouldcomponentupdate這個生命週期方法來進行控制,如果為true繼續渲染 f...