请解释在reactjs这句法功能签名的

时间:2019-01-31 04:40:18

标签: javascript reactjs

我被分配到一个正在进行的项目ReactJs。在查看代码时,我遇到了一个函数定义,其签名如下:

handleInputs({ target: { name, value } }) {

handleInputs是一个在文本字段的onChange事件上调用的函数。叫做

onChange={this.handleInputs}

我试图在控制台中输出“ target”的值,但是抛出了错误。而“name”和“值”的值是输入控制及在所述控制值的名称分别

有人可以解释一下功能签名吗?

1 个答案:

答案 0 :(得分:1)

这是对象分解分配语法。我们可以将对象作为参数传递给函数,根据指定的函数参数(对象键)将其解压缩。在您的情况下,this.handleInputs应该是具有键target: { name, value }的对象。在函数内部,我们可以直接访问键值。 通过mozilla docs中的以下示例,您可以更好地理解语法。另请参阅此link,了解更多详细信息

function whois({displayName, fullName: {firstName: name}}) {
  console.log(displayName + ' is ' + name);
}

var user = { 
  id: 42, 
  displayName: 'jdoe',
  fullName: { 
      firstName: 'John',
      lastName: 'Doe'
  }
};

console.log('userId: ' + userId(user)); // "userId: 42"
whois(user); // "jdoe is John"