Reemplazar elemento de matriz por otro sin estado mutante
Así es como se ve el ejemplo de mi estado:
const INITIAL_STATE = {
contents: [ {}, {}, {}, etc.. ],
meta: {}
}
Necesito poder y de alguna manera reemplazar un elemento dentro de la matriz de contenido conociendo su índice, he intentado:
return {
...state,
contents: [
...state.contents[action.meta.index],
{
content_type: 7,
content_body: {
album_artwork_url: action.payload.data.album.images[1].url,
preview_url: action.payload.data.preview_url,
title: action.payload.data.name,
subtitle: action.payload.data.artists[0].name,
spotify_link: action.payload.data.external_urls.spotify
}
}
]
}
dóndeaction.meta.index
es el índice del elemento de matriz que quiero reemplazar con otro objeto de contenido, pero creo que esto solo reemplaza la matriz completa a este objeto que estoy pasando. También pensé en usar.splice()
pero eso solo mutaría la matriz?