当前位置: 首页 > 面试题库 >

清除状态es6 React

窦弘义
2023-03-14
问题内容

我正在尝试清除组件,state但找不到es6语法的参考。我正在使用:

this.replaceState(this.getInitialState());

但是,这不适用于es6类语法。

我将如何获得相同的结果?


问题答案:

据我所知,React组件不会保留初始状态的副本,因此您只需要自己做即可。

const initialState = {
    /* etc */
};

class MyComponent extends Component {
    constructor(props) {
        super(props)
        this.state = initialState;
    }
    reset() {
        this.setState(initialState);
    }
    /* etc */
}

请注意,该行this.state = initialState;要求您永远不要改变状态,否则您将污染initialState并且无法进行重置。如果无法避免突变,则需要initialState在构造函数中创建的副本。(或按照initialState进行功能getInitialState()。)

最后,建议您使用setState()而不是replaceState()



 类似资料:
  • 本文向大家介绍BootStrap Select清除选中的状态恢复默认状态,包括了BootStrap Select清除选中的状态恢复默认状态的使用技巧和注意事项,需要的朋友参考一下 PC端项目中经常会出现大量的数据列表页面,涉及到下拉框选择筛选条件; 当时用到bootstrap-select下拉框时该如何点击重置按钮就清除下拉框的选中状态呢? 如【图1】 当我们选择摸一个条件之后 如【图2】 此时点

  • 我目前正在开发一个应用程序,使用辅助服务来处理通知。尤其令人讨厌的是,第三方应用程序除了启动与通知相关的意图(并启动应用程序)之外,没有办法清除状态栏通知。

  • 这是我的代码。我的问题如下 > 以这种方式清除状态是否正确? 这是使用keyBy的正确方法吗? //有100万个storeId

  • 是否可以清除数据流中的当前水印? 一个月长的水印不允许延迟的示例输入: 通常,“2018年9月”的记录会因为时间太晚而被扔掉。当看到消息时,是否有方法以编程方式重置水印状态?

  • 我有一个组件,它作为一个道具发送一个方法来改变表单的输入值(像任何基本表单一样)。在onChange开始工作后,我决定添加一个clear按钮来一次清除所有输入值,因此我创建了一个方法来清除所有输入。 示例: 像上面的方法那样清除会产生一个错误,因为我要移除state中的键,而表单输入的值是针对state的。没问题,所以我想,我只需要将setState中的所有输入添加到一个空字符串,如:which

  • 我正在使用kafka处理器API做一些自定义计算。由于某些复杂的处理,DSL并不是最佳的选择。流代码如下所示。 我需要清除一些项目从状态存储基于一个事件来在一个单独的主题。我无法找到正确的方法来使用Processor API连接另一个流,或者通过其他方法来侦听另一个主题中的事件,从而能够触发CustomProcessor类中的清理代码。有没有一种方法可以在处理器API中获取另一个主题中的事件?或者