在學習的過程中,老師是說用無狀態組件可以極大提升性能,但是最近在看 《React 設計模式與最佳實踐》 一書時,里面的9.2.2小節里面說無狀態組件實際上不會帶來任何狀態上的提升,老師講課的版本上 16 ,書上的版本是 15那么問題來了:JavaScript是不是世界上最好的語言? (:з)∠)
1 回答

慕森卡
TA貢獻1806條經驗 獲得超8個贊
不要說無狀態組件有沒有性能提升了,
即使是你在render中bind也不會對性能造成多少影響,這點可以通過benchmark證實(社區普遍認為render中bind會對性能造成比較大的影響)。
另外更正,無狀態組件并不是沒有生命周期, 沒有生命周期的應該是函數組件。因此無狀態組件性能更好就說不通的,
猜測你想說的是函數組件性能更好。 如果你僅僅就一個函數組件和一個非函數組件(都沒有子組件和父父組件)進行benchmark對比,毫無疑問性能更好(你們老師可能說的就是這種情況吧), 但是實際項目是組合使用,就不一定了。 因此非函數組件可以通過SCU控制是否render, 函數組件沒有這樣的優化空間(可以通過內部維護一個LRU的緩存解決一下)。
總之, 不一定,看情況
- 1 回答
- 0 關注
- 854 瀏覽
添加回答
舉報
0/150
提交
取消