这是用于显示帖子和待办事项的简单redux应用程序,当我调用调度动作SHOW_POSTS效果很好,但是SHOW_TODOS返回undefined时,为什么呢?
let initialState = {
todos : ['buy milk', 'write code'],
posts : ['weekly news']
}
function counter(state = initialState, action) {
switch (action.type) {
case 'SHOW_POSTS':
return state.posts
break;
case 'SHOW_TODOS':
return state.todos
break;
case 'ADD_TODO':
return {
todos: [...state, action.payload]
}
break;
default:
return state
}
}
let store = createStore(counter)
store.subscribe(() => console.log(store.getState()))
console.log('show posts:')
store.dispatch({ type: 'SHOW_POSTS' })
console.log('show todos:')
store.dispatch({ type: 'SHOW_TODOS' })
答案 0 :(得分:0)
您应该在减速器上返回整个状态,因为return语句将替换=IF(A2<>A1,SUMIF(A:A,A2,B:B),"")
的下一个值。实际上,您在这里所做的就是将state
替换为initialState
。您可以通过还原这些调度调用来看到这一点。您会看到posts
将为空。