2017-08-03 24 views

回答

1

你應該在你的狀態的標誌說,如果你要更新控制與否。 Redux的基本原則之一是不允許客戶知道商店是如何更新的。無論改變狀態,你都應該只對狀態變化做出反應。

但我真的不明白,爲什麼你必須處理手工店的變化做出反應?你應該考慮使用react-redux

編輯

正如在評論中指出,如果需要調度動作時,做了一些副作用,你應該使用一些終極版中間件,如redux-thunkredux-sagaredux-observableredux-loop。對於初學者來說最簡單的是,我認爲,redux-thunk。它允許你發送一個簡單的函數,這個函數將被執行並且能夠發送其他動作。

但是,要觸發每個操作的副作用並能夠按操作類型進行過濾,請參閱redux-tap,如@Brandon的註釋中所示。

+0

我在起訴'react-redux'。但是,當我說'store.subscibe(funcOne)','store.subscibe(funcTwo)','store.subscibe(functhree)'時,就假設它。我想要的是當動作=='ActionOne'時,我只想調用funcOne進行所有其他動作,我想調用所有這三個函數。我希望現在更有意義。 – OpenStack

+1

@Emrys Myrooin是正確的。您不應該對操作做出響應,而是要對狀態進行更改。如果您確實需要副作用,請考慮使用中間件,例如[redux-thunk](https://github.com/gaearon/redux-thunk),[redux-saga](https://github.com)/redux-saga/redux-saga),[redux-observable](https://github.com/redux-observable/redux-observable),[redux-loop](https://github.com/redux-loop/redux-loop)等等。 – Lucas

+0

@Lucas:我沒有迴應行動。相反,我依賴於訂閱()。當一個動作被分派時,我已經註冊了subscribe()的函數被調用。我說的是,在某些情況下,我不希望一些回調函數被執行,即使它們是訂閱的。 – OpenStack