2017-06-15 67 views
0

在我當前的項目中,一些組件是有狀態的。一些狀態屬性取決於調度方法的結果。聽取調度響應

this.props.dispatch({ 
    type: Constants.CONTRACT_DELETE_START, 
    payload: { 
    contract: contract 
    } 
}); 

基本上我需要從中得到的迴應,就像這樣:

this.props.dispatch({ 
    type: Constants.CONTRACT_DELETE_START, 
    payload: { 
    contract: contract 
    } 
}) 
.catch(err => { 
    this.setState({ 
    foo: "bar" 
    }); 
}) 

是否有可能做到這一點,無需攜帶foo: bar邏輯的終極版商店嗎?

Ps。我正在使用Redux Saga來執行我的操作。

+0

你說的是傳奇,但不提供你的REDX傳奇代碼。你能不能展示你到目前爲止所嘗試的。 – Andru

回答

1

我不知道有關承諾的事情(如何解決或拒絕在佐賀),但你也可以這樣做:

this.props.dispatch({ 
    type: Constants.CONTRACT_DELETE_START, 
    payload: { 
    contract: contract, 
    callback:() => { 
     // Do your stuff here 
    } 
    } 
}) 

這裏只是傳遞一個回調,並根據調用這個在你的傳奇在你的邏輯上。

+0

您通常希望保持您的動作可序列化,即只包含普通對象且不包含回調函數,以便諸如時間行程調試等等繼續工作。 – Andru