首页 > 解决方案 > 在 React JS 上重置状态

问题描述

假设我有一个名为“NAME”的变量,该变量有一个存储名称,我的状态中也有这个变量,假设该变量存储了“JOSH”

this.state = {
nombre: ' '
}

我将此变量设置为输入值,因此当我单击按钮时,将输入值放入变量“NAME”,因此它在输入“JOSH”中显示我

如果我错误地删除了一个字母或整个字段,使用“UNDO”按钮,我应该恢复更改,所以当输入中有“JOSH”时,删除1个字母(JOS),当我单击按钮UNDO ,它应该再次给我带来“JOSH”。

我的疑问是,如何将状态重置为原始值?

我正在考虑类似...:

this.setSate ({name});但是这里有些事情让我失望了,无法撤消它

标签: javascriptreactjsreact-reduxstate

解决方案


更新状态时,跟踪所有以前的状态:

 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) }));

推荐阅读