javascript - 在 React JS 上重置状态
问题描述
假设我有一个名为“NAME”的变量,该变量有一个存储名称,我的状态中也有这个变量,假设该变量存储了“JOSH”
this.state = {
nombre: ' '
}
我将此变量设置为输入值,因此当我单击按钮时,将输入值放入变量“NAME”,因此它在输入“JOSH”中显示我
如果我错误地删除了一个字母或整个字段,使用“UNDO”按钮,我应该恢复更改,所以当输入中有“JOSH”时,删除1个字母(JOS),当我单击按钮UNDO ,它应该再次给我带来“JOSH”。
我的疑问是,如何将状态重置为原始值?
我正在考虑类似...:
this.setSate ({name});
但是这里有些事情让我失望了,无法撤消它
解决方案
更新状态时,跟踪所有以前的状态:
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) }));
推荐阅读
- python - 嵌套对象的更快数据聚合算法
- mysql - promise.resolve 中的 for 循环内的 mySQL 查询不起作用
- flutter - Flutter 无效的插件规范 path_provider_windows
- php - 2020 年使用 PHP 7.2 设置 SMTP 邮件 - 2020 年 PHP 邮件
- django - 有没有办法在“urlpatterns”中添加不记名令牌,以便我也可以在浏览器中使用 Rest API?
- node.js - Socket.io双连接只有一个客户端
- spring - Spring Boot 应用程序在运行 Cloud Task 后如何退出?
- r - 如何在R中的绘图中添加图例
- java - 内部类对象
- python - 如何在 Python 中获得高精度的数学计算