文章詳情頁
javascript - react性能問題?
瀏覽:127日期: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. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題2. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.3. Span標(biāo)簽4. javascript - 請教空白文本節(jié)點(diǎn)的問題5. extra沒有加載出來6. css - 關(guān)于border-image7. mysql - 為什么where條件中or加索引不起作用?8. python - linux怎么在每天的凌晨2點(diǎn)執(zhí)行一次這個(gè)log.py文件9. mysql - php 如何網(wǎng)址中出現(xiàn)該頁標(biāo)題?10. django進(jìn)行數(shù)據(jù)庫的查詢
排行榜

熱門標(biāo)簽