使用重命名和输入信息进行解构分配

时间:2018-06-18 12:34:36

标签: javascript typescript destructuring

如何在保留输入信息的同时将变量解构为新名称?

renderItem({item:'apple'})

// jsx:
function renderItem({item: region}) {
    // region == 'apple'
    return <div>{region}</div>;
}

以上内容将使用item对对象进行构造,并将其分配给region

如何表达此功能签名的输入信息?

2 个答案:

答案 0 :(得分:2)

输入传入的项目,如下所示:

function renderItem({item: region}:{item:string}){}

答案 1 :(得分:2)

TypeScript 2.1文档中提供了有关该功能输入的信息:

  

https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-1.html

     

对象休息是对象扩展的双重性,因为它们可以提取在解构元素时不会被拾取的任何额外属性:

当使用特征的Rest部分时,它通过使我们能够将其余属性收集到由它们组成的新对象中来增强对象解构。

我们可以像任何其他值一样编写类型注释。这是首选,因为它可以阻止您的功能签名变得冗长例如

interface IRenderItem {
  item: String
}

function renderItem({ item: region }: IRenderItem): void {
  console.log(item);
}