javascript - react性能問(wèn)題?
問(wèn)題描述
如果組件層級(jí)過(guò)深會(huì)不會(huì)影響到App性能?,如果會(huì)的話一般會(huì)設(shè)置多少個(gè)層級(jí)
redux每次action的時(shí)候通過(guò)reducer產(chǎn)生一個(gè)新的state,那么如果action多了,state對(duì)象就多了,這樣不會(huì)影響性能么?redux是如何規(guī)避的?
問(wèn)題解答
回答1:組件嵌套這個(gè)問(wèn)題避免不了,為了復(fù)用代碼,必須嵌套,否則代碼量巨大。這也是react的弊端之一。一般來(lái)說(shuō),3-5級(jí)嵌套基本上能解決問(wèn)題了,再深點(diǎn)估計(jì)也沒(méi)問(wèn)題。如果太深了,那首先要面對(duì)的問(wèn)題絕對(duì)不是性能,是開(kāi)發(fā),你可能根本記不住參數(shù)到底從哪傳到哪??梢赃m當(dāng)?shù)亩嘁恍┐a,降低復(fù)用率,但是維護(hù)起來(lái)方便很多,性能也OK。至于state的問(wèn)題,redux維護(hù)的是一個(gè)巨大的state。整個(gè)項(xiàng)目是一個(gè)state,分出來(lái)小的state到各個(gè)組件身上去。沒(méi)有深入了解具體state是怎么運(yùn)行的,感覺(jué)上應(yīng)該是產(chǎn)生了新的state后,原來(lái)的state就變成了類似于沒(méi)有引用的對(duì)象,會(huì)被系統(tǒng)釋放掉。
回答2:試試 immutable
回答3:virtual dom
相關(guān)文章:
1. 怎么在網(wǎng)頁(yè)中設(shè)置圖片進(jìn)行左右滑動(dòng)2. shell - Update query wrong in MySQL3. javascript - 新浪微博網(wǎng)頁(yè)版的字?jǐn)?shù)限制是怎么做的4. node.js - mysql如何通過(guò)knex查詢今天和七天內(nèi)的匯總數(shù)據(jù)5. mysql 插入數(shù)值到特定的列一直失敗6. Python從URL中提取域名7. 360瀏覽器與IE瀏覽器有何區(qū)別???8. javascript - 用jsonp抓取qq音樂(lè)總是說(shuō)回調(diào)函數(shù)沒(méi)有定義9. python - 在使用Pycharm時(shí)經(jīng)常看到如下的樣式,小括號(hào)里紅色的部分是什么意思呢?10. python 合并dict
