Я пытаюсь скопировать свое состояние в функцию компонентов в React, чтобы я мог изменить объект, чтобы сделать запрос Ajax.
Вот мой код:
fetchNewThumbnails = () => {
const { publicationsFilter, currentQuery } = this.state;
const params = Object.assign({}, currentQuery);
console.log(params)
console.log(currentQuery)
if (publicationsFilter !== 'All') {
params.test = 'test';
}
// some Ajax request here
}
Проблема заключается в том, что я редактирую скопированный объект params
в своем операторе if.Когда я копирую это и запускаю функцию во второй раз с моим publicationsFilter
, установленным на 'All'
, я ожидаю, что скопированный объект params
будет просто копией состояния без ключа test
в объекте, но это все ещетам с предыдущего раза функция запустилась.
Запись объекта currentQuery
всегда возвращает состояние без ключа params.test
, поэтому я бы подумал, что он просто скопирует объект currentQuery
, как есть, а не сохранит предыдущий объект params
.
Не совсем уверен, где я ошибся, пожалуйста, дайте мне знать, если что-то неясно!
EDIT
объект currentQuery выглядит следующим образом:
filter: {
content_type: "thumbnail",
fields.thumbnailType.fields.type[match]: "News & Press",
fields.thumbnailType.sys.contentType.sys.id: "thumbnailType"
}