react16的新特性

2021-08-21 13:44:00 字數 1024 閱讀 8836

react 16 的好處:

1:新的核心演算法 fiber

react 新的演算法,更加友好;

2:render可以return陣列 ,字串

可以return陣列 不需要包div; 但是必須有對應的key;

3:錯誤處理機制

增加了拋異常的生命週期函式

componentdidcatch(err,info));

}

這樣頁面報錯 我們就可以委婉的換個方式展示了~~!!1

4:portals元件

彈窗元件; 是body的兒子節點,不是巢狀在元件內的元件;

5:更好更快的服務端渲染

服務端使用流的方式使得  提公升了服務端的渲染 速度增快三倍 ;

rendertostring()到rendertonodestream();

要該改寫頁面;

//首先 的話 先把第一節 **書寫帶前端

res.write(`

`);const markupstream=reactdomserver.rendertonodestream(());

//第二步,把markupstream 推到res上 ,並且宣告沒有結束;

markupstream.pipe(res,);

//第三步;監聽markupstream 結束事件 ;

markupstream.on("end",()=>)

並且 前端展示的react-dom的render方法就不能用了需要 改寫為:hydrate;

首先說一下為什麼使用hydrate而不是render,這個是react 16版本中的乙個變更,hydrate主要是用於給服務端渲染出的html結構進行「注水」,由於新版本中ssr出的dom節點不再帶有data-react,為了能盡可能復用ssr的html內容,所以需要使用新的hydrate方法進行事件繫結等客戶端獨有的操作。

6:體積更小;mit協議;

減少體積30%; mit完全開源;

react16實戰總結

react實戰基礎 li裡要帶key值否則會警告,這個問題在vue中也存在,考慮到虛擬dom中diff,所以不要用index作為key值,而要用item。2.immutable state不允許我們做任何的改變,所以拷貝乙份list,修改完再用setsate設定 removeclick index ...

react 16 效能提公升 總結

1.減少子元件渲染 當 父元件 state 內的某個值 eg value 不變時 子元件菜 render shouldcomponentupdate nextprops,nextstate 當父元件傳遞到子元件的值不同時 子元件才渲染 return nextprops.value this.prop...

React16 新增的生命週期

圖源出處 新增的生命週期getderivedstatefromprops getsnapshotbeforeupdate componentdidcatch getderivedstatefromerror 廢棄的生命週期 react17去除,react16不允許和新的生命週期同時使用 compon...