この質問はすでに何度か尋ねられていますが、私が見つけた答えは本当に理解できませんでした。 React/Reduxを使って、非同期データをexpressで初期状態にしようとしています。私はd3に慣れていたので、私の選択肢の1つは "d3.json"を使用することでしたが、それが良い場合は何か他のものを使用して幸せになります。同じトピックに関する前回の回答から、私は、次のコードを追加します。Async Initial状態に "redux-thunk"を使用する方法はありますか? (反応/還元)
// redux action using a dispatcher (think middleware)
export function cool(url) {
return function(dispatch) {
return d3.json(url, response => {
dispatch(setData(response))
}
}
}
// redux action
export function setData(data) {
return {
type: 'DATA_CHART_ALL',
data
}
}
const authorDataReducer = (state = {}, action) => {
switch (action.type) {
case 'DATA_CHART_ALL':
return action.data
case 'DATA_CHART_FILTER':
return action.data
default:
return state;
}
};
export authorDataReducer;
私が最初にそれに気付かなかったが、私は最近理解したものから、上記のこのコードはredux-thunk
パターン多かれ少なかれに従っています。 ..そこから私はredux-thunk
を適用しようとしましたが、私は何もすることができません...
私の質問が明らかであれば、これをすべて明るくするためにいくつかの助けを持っているだろうか分かりません。
ありがとうございました。
私の 'connect'に' {fetchTodos:fetchTodos} 'を追加すると、' finalMergePropsは関数ではありません ' –
fetchTodosはあなたがインポートするアクションでなければなりません。接続の '{fetchTodos:fetchTodos}'はあなたのコンポーネントの 'this.props.fetchTodos'のように呼び出すことができるように、アクションを小道具にマッピングする方法です。 –
はい、インポートしました。私は減速機で何かする必要がありますか?あなたが約束を言うとき、あなたは何を意味しますか?再度、感謝します ! –