亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問react redux 怎么訪問其他model的state?

請問react redux 怎么訪問其他model的state?

湖上湖 2019-07-03 16:07:12
react redux 怎么訪問其他model的state
查看完整描述

4 回答

?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

1、先說redux的作用
代理top-level single data flow,從最外層的container下發數據流觸發dumb components的更新。
2、題主的業務場景是否可以由redux解決
答案肯定是可以的,但不一定合理。
下發props告知組件B執行更新,用過react的同學都很熟悉這一套,這邊不贅述。
3、業務場景的特殊性
組件交互存在兩種情形,一種是純數據模型層面的組件映射關系,完全可以由redux處理;另一種是eventEmitter層面的交互,比如使用ng2的eventEmitter或者vue的$dispatch場景。
對于后者redux其實是提供解決方案的,一種是寫個小型中間件,專門用于處理pub/sub,另一種是利用redux的subscribe接口添加觀察者函數來觸發pub/sub。
4、是否真的需要eventEmitter
不需要。
既然你用的是react + redux,就應該遵循它的設計原則,對組件劃分的時候,建立足夠好的view model一一映射關系。沒有什么是redux解決不了的,如果有,那就重新思考下組件設計是否合理,如果還不行,那就考慮寫個中間件。



查看完整回答
反對 回復 2019-07-07
?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

可能是你的action沒有connect到組件上,沒有把這個方法傳過來。 1.參考我寫的一個方案

1

2

3

4

@connect(

    state => state,

    dispatch => bindActionCreators(action, dispatch)

)


2.根據redux文檔的方案

1

2

3

4

5

6

7

8

9

10

// 哪些 action 創建函數是我們想要通過 props 獲取的看

function mapDispatchToProps(dispatch) {

  return {

    onIncrement: () => dispatch(increment())

  };

}

 

export default connect(

  mapDispatchToProps

)(Counter);


查看完整回答
反對 回復 2019-07-07
  • 4 回答
  • 0 關注
  • 1218 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號