這個問題已經有好幾次了,但是我並沒有真正理解我找到的答案。使用React/Redux,我試圖用異步將異步數據放入我的初始狀態。由於我習慣於d3,我的一個選擇是使用「d3.json」......但如果效果更好,我會很樂意使用其他的東西。從同一主題的一個以前的答案我添加以下代碼:我應該如何使用「redux-thunk」作爲Async Initial狀態? (react/redux)
// 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」。我是否需要對減速器做任何事情?當你說承諾你是什麼意思?再次感謝 ! –