动态setState并使用es6在react中获取状态

时间:2017-04-29 11:52:25

标签: javascript reactjs ecmascript-6

最近我了解到你可以使用动态处理多个输入事件。

如果有这样的状态

this.state = {
   name_1: 'john',
   name_2: 'james'
}

我可以像这样得到我的状态

[1,2].forEach(obj, i), => (
  console.log(this.state[`person_${i}`]);
))

但是setState怎么样?语法是什么样的?我用过这个并且有效。

//说我是动态的

this.setState({
  [`person_${i}`]: ''
})

为什么上面的代码有效?它看起来像阵列。

1 个答案:

答案 0 :(得分:2)

这是ES6中的一项新功能[{1}}。您可以使用动态属性名称初始化对象。

您可以阅读有关此here的更多信息。

在React生态系统中,它通常用于处理ComputedPropertyName更改:

input