【发布时间】:2021-02-19 12:18:21
【问题描述】:
我有以下类型:
interface User {
email: string;
name: string;
}
...以及以下反应组件:
const MyComponent = <Values extends object>({ values }: { values: Values }) => {
console.log(values);
return <div></div>
}
假设我将MyComponent 与User 接口一起使用,因此我可以将values 传递给它。问题是:如何修改传递的values JSON 对象以提取其中的任何属性不存在于泛型类型Values 中?换句话说,如果我传递对象:
{
email: 'mail@example.org',
name: 'Some name',
foo: 'bar'
}
我需要组件中的console.log(values) 来记录没有foo: 'bar' 的对象。
【问题讨论】:
-
你不能,类型在运行时不存在。
标签: javascript typescript typescript-generics