【发布时间】:2019-03-20 20:36:20
【问题描述】:
我有存储数组 (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 中: 我试过用这个减速器,但我得到一个错误:
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
});
}
【问题讨论】:
标签: javascript arrays redux react-redux redux-store