3
比方說,我有一個反應組件,可以從窗體更新狀態。何時可以安全地在React中保存狀態?
class Form extends React.Component {
constructor(props) {
super(props);
this.handleChange = this.handleChange.bind(this);
this.state = {
someCheckboxState: false,
}
}
render() {
return (
<input onChange={this.handleChange} checked={this.state.someCheckboxState} />
);
}
handleChange(event) {
this.setState({
someCheckboxState: event.target.checked,
});
}
}
現在我想發送該狀態到服務器(或某處)。如果我只是這樣做
handleChange(event) {
this.setState({
someCheckboxState: event.target.checked,
});
SendStateToServer(JSON.stringify(this.state)); // BAD! Not yet mutated
}
我可以把它放在render
但隨後在最初的渲染,以及它會被髮送到服務器,以及和它似乎傻發送狀態稱爲render
功能。
什麼時候可以持續/序列化狀態?
第二個參數是運行回調後的狀態變更完成 – MichaelB