1
我正在學習React,並在下面的代碼中獲得...cannot update during an existing state transition...
。在解決它的同時,我在SO中讀到setState不應該在render()中使用,因爲它會反覆調用render(),導致無限循環。但我不知道如何解決它。如何處理在React中設置狀態的onChange事件?
import React from 'react';
import ReactDOM from 'react-dom';
export default class CheckBox extends React.Component{
constructor() {
super();
this.state = {isChecked: false};
}
handleChecked() {
this.setState({isChecked: !this.state.isChecked});
}
render(){
var txt;
if (this.state.isChecked) {
txt = 'checked'
} else {
txt = 'unchecked'
}
return(
<div>
<input type="checkbox" onChange={this.handleChecked()}/>
<p>This box is {txt}</p>
</div>
);
}
}
ReactDOM.render(<CheckBox/>, document.getElementById('hello'));