javascript - 重置 React JS 的状态

标签 javascript reactjs react-redux state

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

this.state = {
nombre: ' '
}

我在输入值中设置了这个变量,所以当我点击按钮时,将变量“NAME”放入输入值中,这样它就会在输入“JOSH”中显示我

如果我错误地删除了一个字母或整个字段,使用“UNDO”按钮,我应该恢复更改,因此当输入中有“JOSH”时,并删除 1 个字母(JOS),当我点击按钮撤消,它应该再次给我带来“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) }));

关于javascript - 重置 React JS 的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60157647/

相关文章:

reactjs - 如何扩展样式组件而不将 props 传递给底层 DOM 元素?

javascript - ReactJs 复选框在第一次使用后不会更改值

javascript - 如何通过 Extjs BoxComponent 通过提交表单获取单选按钮值?

javascript - jQuery - 从数组中获取元素作为 jQuery 元素?

javascript - 异步调用完成后渲染 React 函数组件的一部分

javascript - 终极版 + Apollo : How to normalize and format response data?

javascript - React Native redux saga 类型错误

javascript - React-js 无法识别 AmbientLightSensor

javascript - YouTube API : Is there a way to refresh an access_token in the client side v3 api?

reactjs - Redux-saga 从 Action 中获取数据返回 patternOrChannel 未定义