我正在尝试清除组件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()
。关于javascript - 清除状态es6 React,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34845650/