javascript - react性能問題?
問題描述
如果組件層級過深會(huì)不會(huì)影響到App性能?,如果會(huì)的話一般會(huì)設(shè)置多少個(gè)層級
redux每次action的時(shí)候通過reducer產(chǎn)生一個(gè)新的state,那么如果action多了,state對象就多了,這樣不會(huì)影響性能么?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就變成了類似于沒有引用的對象,會(huì)被系統(tǒng)釋放掉。
回答2:試試 immutable
回答3:virtual dom
相關(guān)文章:
1. python-mysql Commands out of sync2. javascript - angular里一個(gè)關(guān)于ng-bind的問題3. mysql - 我用SQL語句 更新 行的時(shí)候,發(fā)現(xiàn)全部 中文都被清空了,請問怎么解決?4. mysql - 數(shù)據(jù)庫建表方面的問題?5. javascript - 求教各位,本地HTML頁面怎么在DIV中嵌套服務(wù)器上的頁面內(nèi)容?不用iframe。6. [前端求職必看]前端開發(fā)面試題與答案精選_大綱7. javascript - IOS微信audio標(biāo)簽不能通過touchend播放8. java中這個(gè)頁面默認(rèn)是utf-8編碼的,1輸出亂碼可以理解,可是2就不理解了?9. python - xpath提取網(wǎng)頁路徑?jīng)]問題,但是缺失內(nèi)容?10. javascript - angularJS指令如何暴露API給外面的controller使用?
