【发布时间】:2022-01-03 17:19:37
【问题描述】:
我有一个具有以下结构的 JavaScript 对象:
{
id: 0,
content: "English Class",
date: "Dec 24th at 7:30pm",
completed: false,
}
我还有一个函数const editTask(id, content) 可以更新上述对象中的content 属性:
const editTask = (id, content) => {
setTasks(tasks.map((task) =>
task.id === id ? { id: task.id, content: content, date: task.date, completed: task.completed } : task));
}
有没有一种方法可以避免传递所有对象属性而只升级content属性以及传播对象的其余部分?
【问题讨论】:
-
{ ...task, content }? -
你自己在问题中说的,只是传播。你怎么知道“传播”这个词和谷歌却不知道传播的语法?
-
@jonrsharpe 谢谢。我的印象是我只能将 spread 与“整个”完整的对象一起使用。
-
@Touffy 我知道语法,只是有点怀疑。
-
...task确实传播了整个完整的对象,然后使用速记符号覆盖其中的一部分。
标签: javascript arrays reactjs object