React什麼場景不該使用PureComponent

時間 2021-07-10 20:43:48

1樓:九仙大當家

PureComponent相比於Component,在shouldComponentUpdate階段多了一層淺比較。

什麼意思呢?Component不管三七二十一,直接返回true,這意味著即是前後的state、props沒有任何改變,React還是會進行一遍re-render,當然最後的結果就是什麼也沒變,我們稱之為一次徒勞的render;而PureCompoent會對前後的state、props進行一次淺比較,如果發現前後沒有變化,那麼就不會進行re-render。

那這麼說,我們是不是都用PureComponent比較好呢?也不是,注意我的措辭「淺比較」,如果是像Array、Object這樣的引用型別是無法比較的,因為React為了進行新舊fiber的比對,所有的state、props都是新建立的,所以前後比較必然不相等,這種情況下就不建議使用PureComponent;另外還有一種情況,就是我們知道每次的setState都是有效的更新,也可以不用PureComponent,以免在shouldComponentUpdate中做無用功。

以上,想到再更。

java Callable 使用場景是什麼

白奕新 你的理解不對。executorPool是乙個ThreadPoolExecutor物件,submit 方法會將你傳入的Callable封裝成乙個FutureTask物件,並執行execute方法 啟用乙個Thread去執行,會去判定是否超過執行緒數等等這些操作先不理會。所以是非同步的而且並非懶...

使用React框架還用jQuery的外掛程式可行嗎?

沉默 你這個問題就像我電腦裝了360,還可以裝金山毒霸嗎,能裝是能裝,但是大部分功能重複不覺得多此一舉嗎,ajax用axios代替,狀態redux,元件庫可以用用國內的antd,或者國外的庫 Jooger 當然可以,但是不推薦,看你目的 如果你只是為了完成工作,隨便用,不怕坑多,反正後面又不是我維護...

使用 React 了還能用 jQuery 麼

黃小偉 為了節約時間,我在一次做拖拽排序功能時用了jquery修改了dom結構,然後setState 更新資料讓react渲染後的結構一致 迫不得已的時候用一下也挺爽的 Dr.D react的出現就是讓大家少去操作dom,所以不要使用jQuery修改dom以避免和react衝突,可以使用jq來獲取元...