我正在尝试清除组件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的副本。 (或者按照initialStategetInitialState()设为一个函数。)

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

关于javascript - 清除状态es6 React,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34845650/

10-09 19:57