文章詳情頁
javascript - react性能問題?
瀏覽:242日期:2023-02-22 18:32:25
問題描述
如果組件層級過深會不會影響到App性能?,如果會的話一般會設(shè)置多少個(gè)層級
redux每次action的時(shí)候通過reducer產(chǎn)生一個(gè)新的state,那么如果action多了,state對象就多了,這樣不會影響性能么?redux是如何規(guī)避的?
問題解答
回答1:組件嵌套這個(gè)問題避免不了,為了復(fù)用代碼,必須嵌套,否則代碼量巨大。這也是react的弊端之一。一般來說,3-5級嵌套基本上能解決問題了,再深點(diǎn)估計(jì)也沒問題。如果太深了,那首先要面對的問題絕對不是性能,是開發(fā),你可能根本記不住參數(shù)到底從哪傳到哪。可以適當(dāng)?shù)亩嘁恍┐a,降低復(fù)用率,但是維護(hù)起來方便很多,性能也OK。至于state的問題,redux維護(hù)的是一個(gè)巨大的state。整個(gè)項(xiàng)目是一個(gè)state,分出來小的state到各個(gè)組件身上去。沒有深入了解具體state是怎么運(yùn)行的,感覺上應(yīng)該是產(chǎn)生了新的state后,原來的state就變成了類似于沒有引用的對象,會被系統(tǒng)釋放掉。
回答2:試試 immutable
回答3:virtual dom
標(biāo)簽:
JavaScript
相關(guān)文章:
1. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?2. docker-compose中volumes的問題3. docker不顯示端口映射呢?4. golang - 用IDE看docker源碼時(shí)的小問題5. 在windows下安裝docker Toolbox 啟動(dòng)Docker Quickstart Terminal 失敗!6. docker容器呢SSH為什么連不通呢?7. javascript - 最近用echarts做統(tǒng)計(jì)圖時(shí)遇到兩個(gè)問題!!8. mac里的docker如何命令行開啟呢?9. javascript - 連續(xù)點(diǎn)擊觸發(fā)mouseleave事件10. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””
排行榜

熱門標(biāo)簽
網(wǎng)公網(wǎng)安備