Как обновить состояние до его предыдущего состояния в React + Typescript - PullRequest
0 голосов
/ 26 июня 2019

Я хочу установить состояние на предыдущее значение.У меня есть список флажков и на его основе выбора и нажмите «Применить» столбцы в таблице будут показаны / скрыты.Я могу достичь этой функциональности.Но при нажатии «Отмена» я не могу установить его в предыдущее состояние.

CodeSandbox: https://codesandbox.io/s/funny-browser-2z3s5

При нажатии кнопки «Отмена» флажки должны быть установлены в предыдущее состояние.

Клик обрабатывается с помощью функции в SelectComponent.tsx, цель состоит в том, чтобы сбросить optionsArr к его первоначальному значению:

cancelSelection = (event: any) => {
  this.setState({ showList: false });
  this.setState((prevState: any) => ({
    // Isn't working
    optionsArr: prevState.optionsArr
  }));
};

1 Ответ

1 голос
/ 26 июня 2019

Аргумент, который setState Updater получает, является состоянием во время применения изменения. Установка состояния, равного этому, ничего не меняет.

Вам необходимо отслеживать предыдущее состояние отдельно. Например, как отдельный элемент в состоянии, переменная экземпляра или props. См. Например:

Сброс начального состояния в React + ES6

Состояние очистки es6 Реакция

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...