重命名返回对象的对象键

5

场景

一个名为matter的方法返回一个对象,例如 return {content, data}

冲突

来自节点模块的一个方法的第二次调用会覆盖之前从返回中设置的变量。

import matter from 'gray-matter'

const test = () => {
...
   const { content, data } = matter(source1)
   const { content, data } = matter(source2) // this overwrites previous content, data vars
...
}

目标 / 问题

将不同命名变量中返回的值进行设置,例如:

const { content2, data2 } = matter(source2) // like so it leads to an compiling error property content2 does not exists on type [...]

那么,如何将返回值分配给与类型中命名相同的不同变量?
1个回答

6
只需使用不同的变量名:
const { content, data } = matter(source1)
const { content: content2, data: data2 } = matter(source2)

或者干脆不要解构:

const result1 = matter(source1)
const result2 = matter(source2)

或者使用对象数组:

const results = [source1, source2].map(matter);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接