之前項目是state和redux混合使用. 區(qū)分的邏輯大多是:該狀態(tài)是否有其他組件共享. 比如登錄用戶的角色信息. 許多組件根據角色的不同有不同的渲染.當銷毀該組件后, 重新加載該組件是否需要初始化為上次的狀態(tài). 比如上次的查詢條件或結果. 切換路由后再切換回來希望仍看到上次的數據.后來寫起來很混亂, 干脆全部使用redux廢棄了所有狀態(tài)組件. 觸發(fā)要使用生命周期, 否則全都是函數組件了.不過最近在思考一個問題. 如果存在組件嵌套的情況, 比如function Father(props){ const { a , b } = props; return { <div>
<A state={a}/>
<B state=/>
</div>
}
}
function B(props) { const { c } = props; return { <div>
<C state={c} />
</div>
}
}如果connect在Father上的store任意部分變化, 比如store.b.c變化, 會造成其他組件的重新渲染. 這樣性能會不會不如放在state上好. 如果store.b.c是存在B的state上, 那么應該只會有組件B重新刷新, 不會影響到Father和A求大神解惑
react組件的狀態(tài)是應該放在組件state還是其他第三方狀態(tài)器里[比如redux-store]中?
海綿寶寶撒
2018-09-23 21:46:56