Сбросить состояние по реакции JS - PullRequest
0 голосов
/ 10 февраля 2020

Предполагая, что у меня есть переменная с именем "NAME", эта переменная имеет сохраненное имя, у меня также есть эта переменная в моем состоянии, допустим, что эта переменная сохранила 'JO SH'

this.state = {
nombre: ' '
}

Я устанавливаю эту переменную во входном значении, поэтому, когда я нажимаю c на кнопке, вводим во входное значение переменную «ИМЯ», чтобы она отображала меня на входе «JO SH»

Если я по ошибке удалил букву или целое поле с помощью кнопки «ОТМЕНА», я должен отменить изменения, поэтому, когда на входе есть «JO SH», и удалить 1 букву (JOS), когда я cli c кнопка ОТМЕНА, она должна снова вызвать меня "JO SH".

Здесь я сомневаюсь, как мне восстановить исходное значение состояния?

Я думаю о чем-то вроде ...:

this.setSate ({name}); но что-то меня здесь подводит, что это не отменяет

1 Ответ

1 голос
/ 10 февраля 2020

При обновлении состояния следите за всеми предыдущими состояниями:

 this.state = { name: '', history: [] };

 // whe  adding name:
 this.setState(({ history, name: oldName }) => ({ name, history: [...history, oldName] }));

, затем вы можете легко восстановить предыдущее состояние:

this.setState(({ history }) => ({ name: history[history.length - 1] || '', history: history.slice(0, -1) }));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...