Tengo un objeto JavaScript con la siguiente estructura:
{ id: 0, content: "English Class", date: "Dec 24th at 7:30pm", completed: false, } También tengo una función const editTask(id, content) que actualiza la propiedad del content en el objeto antes mencionado:
const editTask = (id, content) => { setTasks(tasks.map((task) => task.id === id ? { id: task.id, content: content, date: task.date, completed: task.completed } : task)); } ¿Hay alguna manera de evitar pasar todas las propiedades del objeto para actualizar solo la propiedad del content y distribuir el resto del objeto?
Un patrón común es combinar la sintaxis extendida con la configuración manual de algunas propiedades:
const editTask = (id, content) => { setTasks(tasks.map((task) => task.id === id ? { ...task, content } : task)); } En el ejemplo anterior, la sintaxis extendida establece todas las propiedades de la task y la línea siguiente reemplaza el content de la propiedad por el nuevo valor. Es importante que la difusión esté antes que el content . Si fuera posterior, el nuevo valor sería anulado por el diferencial.