2 回答

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊
1、先說(shuō)redux的作用
代理top-level single data flow,從最外層的container下發(fā)數(shù)據(jù)流觸發(fā)dumb components的更新。
2、題主的業(yè)務(wù)場(chǎng)景是否可以由redux解決
答案肯定是可以的,但不一定合理。
下發(fā)props告知組件B執(zhí)行更新,用過(guò)react的同學(xué)都很熟悉這一套,這邊不贅述。
3、業(yè)務(wù)場(chǎng)景的特殊性
組件交互存在兩種情形,一種是純數(shù)據(jù)模型層面的組件映射關(guān)系,完全可以由redux處理;另一種是eventEmitter層面的交互,比如使用ng2的eventEmitter或者vue的$dispatch場(chǎng)景。
對(duì)于后者redux其實(shí)是提供解決方案的,一種是寫(xiě)個(gè)小型中間件,專(zhuān)門(mén)用于處理pub/sub,另一種是利用redux的subscribe接口添加觀察者函數(shù)來(lái)觸發(fā)pub/sub。
4、是否真的需要eventEmitter
不需要。
既然你用的是react + redux,就應(yīng)該遵循它的設(shè)計(jì)原則,對(duì)組件劃分的時(shí)候,建立足夠好的view model一一映射關(guān)系。沒(méi)有什么是redux解決不了的,如果有,那就重新思考下組件設(shè)計(jì)是否合理,如果還不行,那就考慮寫(xiě)個(gè)中間件。
- 2 回答
- 0 關(guān)注
- 659 瀏覽
添加回答
舉報(bào)