すべてのポイントを取得できません:はReduxの-サンクミドルウェア
私はサンクと呼ばれる概念がある非同期アクションhttp://redux.js.org/docs/advanced/AsyncActions.html
についてのチュートリアルに従うことをしようとすると、私は、Reduxのにはかなり新しいです私たちが非同期アクションを行うためにサンクを必要としている理由を知りません。単にinitシグナルを送出してからデータをフェッチし、フェッチ・データからfinishシグナルをディスパッチできないのはなぜですか?
function fetchDataAction(dispatch){
dispatch({
type: "START"
})
fetch("DATA_URL")
.then(function(res){return res.json();})
.then(function(json){
dispatch({
type: "SUCCESS",
data: json
})
})
}
あなたはあなたの質問にかなりのサンクを記述しました。データのフェッチは非同期的に行われるため、ディスパッチは応答を受け取った後にのみ起動できます。 –
@MarioTackeありがとう、サンクは私がここに入れたことをするための単なる言葉です?私の操作の大部分が単にデータをフェッチしているのであれば、サンクは必要ありません。 – Kuan
サンクスはファンシーな言葉以上のものです。それは私が理解しているように、reduxが動作する方法は、すべてのアクションは、減速機が直ちに消費できるアクションを返さなければなりません。非同期アクションは後でデータを返すので(読み込み:すぐにはなりません)、データを受け取ったら特定のアクションを実行するために、アベニューを開く必要があります。このため、多くのプロジェクトでは 'redux-thunk'ミドルウェアが使用されています。 –