我有存储数组(store.calendar[0].todos[{title: title, etc...}]
)
0: {todos: Array(0)}
1: {todos: Array(0)}
2: {todos: Array(0)}
3: {todos: Array(0)}
4: {todos: Array(0)}
我需要将 action 对象添加到数组的索引 todos 中:我尝试过使用这个 reducer,但出现错误:
state.calendar[newTodo.day].concat 不是函数
我的减速机:
let initialState = { calendar: []}
for (let i = 1; i <= 30; i++) {
initialState.calendar.push({ todos: []});
}
const todosReducer = (state = initialState, action) => {
switch (action.type) {
case ADD_TODO:
const newTodo = action.todoItem;
const newStore = {...state,
todos: state.calendar[newTodo.day].concat(newTodo)};
return newStore;
default:
return state
}
}
export default todosReducer;
我的行动:
export const addTodoAction = (todoItem) => {
return {
type: ADD_TODO,
todoItem
}
}
我的添加待办事项功能:
const handleSaveTodo = () => {
props.addTodo({
day: 5,
title: trackInput.value,
description: trackTextarea.value,
completed: false
});
}