我试图不对此状态的名称进行硬编码,因此我可以动态生成一些组件。到目前为止,这不起作用:
handleChange(e) {
var name = e.target.name
console.log(name)
var data = !this.state.name // trying, unsuccessfully, to pass in the 'name' variable here.
this.setState({[name]: data});
e.stopPropagation();
}
调用此函数的组件是一个复选框,因此使用true / false来切换值。
<Checkbox
className="january"
label="january"
name="january"
checked={this.state.january}
onChange={this.handleChange.bind(this)}
theme="success"
/>
答案 0 :(得分:1)
此
var data = !this.state.name
应该是
var data = !this.state[name]
您正在做的是访问州的“名称”属性。