Реагировать - копирование состояния не возвращает новый объект - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь скопировать свое состояние в функцию компонентов в 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"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...