在设置状态时如何传入变量?

时间:2016-04-30 21:14:56

标签: reactjs

我试图不对此状态的名称进行硬编码,因此我可以动态生成一些组件。到目前为止,这不起作用:

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"
 />

1 个答案:

答案 0 :(得分:1)

var data = !this.state.name

应该是

var data = !this.state[name]

您正在做的是访问州的“名称”属性。