我的应用程序中有以下状态:
const [activeChats, setActiveChats] = useState([
{
id: 1,
name: 'Luciana Gutierrez',
role: 'HR Manager',
avatar: avatar2,
messages: [
{
content: 'Hola Luciana! Tuviste alguna novedad?',
received: false,
date: '9:45 AM'
},
{
content: 'Hola John! Todavía no...',
received: true,
date: '10:19 AM'
},
{
content: 'Si tengo alguna otra novedad te comento. Gracias!',
received: true,
date: '10:20 AM'
}
]
},
{
id: 2,
name: 'Micaela Alvarez',
role: 'Marketing Manager',
avatar: avatar1,
messages: [
{
content: 'Hola John! Entre qué horarios podrías hoy tener la meeting?',
received: true,
date: '9:45 AM'
},
{
content: 'Hola Micaela! Muy bien. Yo puedo de 10 a 17 hs.',
received: false,
date: '10:05 AM'
},
{
content: 'Dale, agendé la meeting para hoy a las 14hs.',
received: true,
date: '10:15 AM'
}
]
},
{
id: 3,
name: 'Manuel Hoffman',
role: 'Business Manager',
avatar: avatar3,
messages: [
{
content: 'Gracias por la reunión de ayer, Manu, fue muy productiva!',
received: false,
date: '9:35 AM'
},
{
content: 'Gracias a vos!',
received: true,
date: '9:37 AM'
}
]
}
])
我只想通过在每个对象的 messages 键中添加更多项目来修改它,而使状态的其余部分保持原样。
例如,假设我向第一个对象添加两条新消息。状态应该是这样的:
const [activeChats, setActiveChats] = useState([
{
id: 1,
name: 'Luciana Gutierrez',
role: 'HR Manager',
avatar: avatar2,
messages: [
{
content: 'Hola Luciana! Tuviste alguna novedad?',
received: false,
date: '9:45 AM'
},
{
content: 'Hola John! Todavía no...',
received: true,
date: '10:19 AM'
},
{
content: 'Si tengo alguna otra novedad te comento. Gracias!',
received: true,
date: '10:20 AM'
},
{
content: 'Example1',
received: true,
date: '10:21 AM'
},
{
content: 'Example2',
received: true,
date: '10:22 AM'
}
]
},
{
id: 2,
name: 'Micaela Alvarez',
role: 'Marketing Manager',
avatar: avatar1,
messages: [
{
content: 'Hola John! Entre qué horarios podrías hoy tener la meeting?',
received: true,
date: '9:45 AM'
},
{
content: 'Hola Micaela! Muy bien. Yo puedo de 10 a 17 hs.',
received: false,
date: '10:05 AM'
},
{
content: 'Dale, agendé la meeting para hoy a las 14hs.',
received: true,
date: '10:15 AM'
}
]
},
{
id: 3,
name: 'Manuel Hoffman',
role: 'Business Manager',
avatar: avatar3,
messages: [
{
content: 'Gracias por la reunión de ayer, Manu, fue muy productiva!',
received: false,
date: '9:35 AM'
},
{
content: 'Gracias a vos!',
received: true,
date: '9:37 AM'
}
]
}
])
我怎样才能做到这一点?
我正在考虑扩展运算符,但我不确定如何将它与我的嵌套一起使用。