如何将变量作为索引键传递给状态

时间:2019-02-23 06:52:02

标签: javascript reactjs object ecmascript-6

我想在状态下传递变量。我正在使用setState({type:value}) 但反应剂量会接受我的第一个变量(类型)。

updateSwitch(type, value) {

    this.setState({
        type: value
    })

}

在我的代码中听到,“ type”是State的索引键。我需要这个作为我的动态变量

4 个答案:

答案 0 :(得分:2)

您需要使用computed property

updateSwitch(type, value) {

    this.setState({
        [type]: value
    })

}

答案 1 :(得分:2)

您需要使用es6计算属性

updateSwitch(type, value) {

this.setState({
    [type]: value
})

}

在此处了解更多信息: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Computed_property_names

答案 2 :(得分:2)

您可以执行以下操作:

this.setState({
    [type]: value
})

答案 3 :(得分:1)

使用动态属性名称(也称为computed property name):

updateSwitch(type, value) {
    this.setState({
        [type]: value
    });
}