2017-02-03 24 views
2

React-reduxプロジェクトでは、2つのアクションを実行する必要があることがあります。例えばReact Reduxで2つ以上のアクションを実行する方法

、コードの上

// I have to both 
handleAddItem(){ 
    this.props.actions.addItem(); // working 
    this.props.actions.updateItemList(); // not working 
} 

が機能していません。それはちょうど最初のアクションaddItem()が実行されるようです。 updateItemList()は機能しません。

しかし、私は両方のアクションを実行するためのハックを発見し、

handleAddItem(){ 
    this.props.actions.addItem(); // working 
    setTimeout(()=>{ 
    this.props.actions.updateItemList(); // It's working 
    }, 1000); 
} 

は2つの以上のアクションを実行するための正確なコードはありますか?

+0

これらのアクションをディスパッチしようとしましたか? – Bezzi

+0

updateItemList()はaddItem()に依存していますか?もしそうなら、それをaddItemへのコールバックにするか、addItemに約束を返す必要があります。 – jmargolisvt

+0

一度に2つのアクションを使用する特別な理由はありますか?一般的に、単一のアクションで状態を更新する方が良いです。 –

答えて

1

私のコメントに先に追加するには、How to dispatch a Redux action with a timeout?が広く使用されている問題の解決策を説明しています。同期アクションと非同期アクションを区別するには、オブジェクト(同期サポート)または関数(非同期サポート)のいずれかを返すだけです。

関連する問題