Заменить элемент массива другим без изменения состояния

Вот как выглядит пример моего состояния:

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() но что будет просто мутировать массив?

Ответы на вопрос(3)

Ваш ответ на вопрос