2017-12-29 24 views
0

初期ロード中、減速機から返された値が更新されています。 しかし、返された後続の値は状態で更新されません。Redux:リデューサから返された新しい値が状態で更新されない

還元剤コードの下にあるconnectToTradeServerは、別のサイトへのaxios呼び出しを行い、データを取得する関数です。

export default (state = [{"_id":"helkjdflj"}], action) => { 
    switch (action.type) { 
     case TRADE_LIST_UPDATED: { 
      connectToTradeServer((err, res) => { 
       if (err) { 
        return state; 
       } else { 
        return res; 
       } 
      }); 
    } 
    default: return state; 
    } 
} 

私はここで間違っていますか? ありがとうございます。

+0

スイッチの外でデフォルトのケースはなぜですか? – VivekN

答えて

1

Reduxの減速機は、同期機能です。内部に非同期操作があります。 returnの文内にはconnectToTradeServerは何もしません。非同期操作の処理方法については、redux-thunkまたはredux-sagaのプロジェクトを確認することをお勧めします。

TRADE_LIST_UPDATEDの場合は、returnもありません。最後に、減速機コールが終了すると、初期状態に戻ります。

+0

ありがとうございました。私は控除するための初心者なので、物事の仕方についてはまだ混乱しています。あなたの提案をチェックします。 –

関連する問題