【问题标题】:how to pass a variable to state as a index key如何将变量作为索引键传递给状态
【发布时间】:2019-02-23 06:52:01
【问题描述】:

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

updateSwitch(type, value) {

    this.setState({
        type: value
    })

}

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

【问题讨论】:

    标签: javascript reactjs object ecmascript-6


    【解决方案1】:

    你需要使用 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】:

      您需要使用computed property

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

      【讨论】:

        【解决方案3】:

        您可以执行以下操作:

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

        【讨论】:

          【解决方案4】:

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-02-09
            • 2016-12-02
            • 2013-01-27
            • 2019-03-14
            • 2021-12-01
            • 1970-01-01
            • 2021-01-06
            • 2021-08-04
            相关资源
            最近更新 更多