I am trying to clear a components state but can\'t find a reference for the es6 syntax. I was using:
this.replaceState(this.getInitialState());
The accepted answer:
const initialState = {
/* etc */
};
class MyComponent extends Component {
constructor(props) {
super(props)
this.state = initialState;
}
reset() {
this.setState(initialState);
}
/* etc */
}
unfortunately is not correct.
initialState is passed as a reference to this.state, so whenever you change state you also change initialState (const doesn't really matter here). The result is that you can never go back to initialState.
You have to deep copy initialState to state, then it will work. Either write a deep copy function yourself or use some existing module like this.