2

全て:

非同期アクションhttp://redux.js.org/docs/advanced/AsyncActions.htmlに関するチュートリアルに従おうとするとき、私はReduxにかなり慣れていません

サンクと呼ばれる概念があります。非同期アクションを実行するためにサンクが必要な理由、単に init シグナルをディスパッチしてからデータをフェッチしてから、フェッチ データからプロミスで終了シグナルをディスパッチできない理由がよくわかりません。

function fetchDataAction(dispatch){
    dispatch({
        type: "START"
    })
    fetch("DATA_URL")
        .then(function(res){return res.json();})
        .then(function(json){
            dispatch({
                type: "SUCCESS",
                data: json
            })
        })
}

ありがとう

4

1 に答える 1

1

Redux ストアはプレーン オブジェクトのみをアクションとして認識します。dispatchしたがって、ストアに対してのみオブジェクトを作成できます。redux-thunkストアに機能をアクションとして認識するように教えます。の詳細についてredux-thunkは、著者自身の記事をお読みください: How to dispatch a Redux action with a timeout?

それについて考えるもう1つの方法は、直接redux-thunkアクセスする方法を提供して、必要なdispatchものを何でもディスパッチできるようにすることです。

redux-thunkアクションクリエーターがdispatchパラメーターとして持っていない場合。この場合、パラメータとして与えるfetchDataActionためにのみ機能します。redux-thunkdispatch

于 2016-06-17T02:20:51.263 に答える