这个问题已经有好几次了,但是我并没有真正理解我找到的答案。使用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”。我是否需要对减速器做任何事情?当你说承诺你是什么意思?再次感谢 ! –