相关疑难解决方法(0)

更新项目数组中的单个值 反应还原

我有一个待办事项列表,并希望如果用户点击"完成",则将数组中该项目的状态设置为"完成".

这是我的行动:

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.

javascript state reducers reactjs redux

14
推荐指数
2
解决办法
2万
查看次数

标签 统计

javascript ×1

reactjs ×1

reducers ×1

redux ×1

state ×1