Ich lerne React und im folgenden Code bekomme ich ...cannot update during an existing state transition...
. Während ich suche, es zu beheben, habe ich in SO gelesen, dass setState nicht innerhalb von render() verwendet werden sollte, da es wiederholt rendern() aufruft, was zu einer Endlosschleife führt. Aber ich weiß nicht, wie ich es beheben kann.Wie behandelt man das onChange-Ereignis, das den Status in React setzt?
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'));