React handleChange语法

时间:2016-12-21 09:51:39

标签: javascript reactjs syntax

我的React代码中有一个handleChange函数,我只是想知道语法。

handleChange: function(event){

    var newState = {};            
        newState[event.target.id] = event.target.value;
    this.setState(newState);
},

我的问题是,如果var newState是一个空对象,并且event.target.id看起来像是被放入空对象旁边的数组([ ])中,那么将对象放在数组旁边时会发生什么?我是否正确地阅读了这个?

3 个答案:

答案 0 :(得分:2)

someobject[...]语法为property accessor syntax - 它等同于使用someobject.someproperty,除了要访问的属性的名称是方括号内表达式的值。

例如,如果特定通话的event.target.id值为'name',那么您的handleChange()方法将相当于this.setState({name: event.target.value})

答案 1 :(得分:2)

  

我是否正确地阅读了这个?

没有。这是对象的标准bracket notation访问权限。

如果event.target.id是" a",那么该对象将如下所示:{a: event.target.value}

答案 2 :(得分:1)

所以在上面的代码中

newState是一个空对象,newState[event.target.id]是访问obejct参数的方法,所以如果我们这样做

handleChange: function(event){

    var newState = {};            
        newState[event.target.id] = event.target.value;
    this.setState(newState);
},

我们将值event.target.value分配给对象属性event.target.id(如果它尚不存在)。因此,假设event.target.id"name"event.target.value"Mike"。 newState将成为

newState = {
    name: "Mike"
}