我有一个待办事项列表,并希望如果用户点击"完成",则将数组中该项目的状态设置为"完成".
这是我的行动:
export function completeTodo(id) {
return {
type: "COMPLETE_TASK",
completed: true,
id
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的减速机:
case "COMPLETE_TASK": {
return {...state,
todos: [{
completed: action.completed
}]
}
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是新状态不再具有与所选项目上的待办事项关联的文本,并且ID不再存在.这是因为我覆盖了州并忽略了之前的属性吗?我的对象项onload看起来像这样:
Objecttodos: Array[1]
0: Object
completed: false
id: 0
text: "Initial todo"
__proto__: Object
length: 1
__proto__: Array[0]
__proto__: Object
Run Code Online (Sandbox Code Playgroud)
如您所见,我想要做的就是将完成的值设置为true.