Заменить элемент массива другим без изменения состояния
Вот как выглядит пример моего состояния:
const INITIAL_STATE = {
contents: [ {}, {}, {}, etc.. ],
meta: {}
}
Я должен быть в состоянии и как-то заменить элемент внутри массива содержимого, зная его индекс, я попытался:
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
}
}
]
}
гдеaction.meta.index
это индекс элемента массива, который я хочу заменить другим объектом содержимого, но я считаю, что он просто заменяет весь массив на этот объект, который я передаю. Я тоже думал об использовании.splice()
но что будет просто мутировать массив?