type Prettify<T> = {
[K in keyof T]: T[K];
} & {};
例子:
type TypeA = {
name: string;
};
type TypeB = {
level: number;
};
type TypeC = {
loading: boolean;
} & (TypeA | TypeB);
// all properties expaned on hover 'obj'
const obj: Prettify<TypeC> = {
name: 'david',
level: 2,
loading: false,
};
Result:
感谢Matt Pocock的贡献。来源:@mattpocockuk twit 此外,还有一个Github问题希望在智能感知中实现这个功能。Alt + F12
。在这种情况下,它可能会有所帮助。测试一下:
const [campaigns,setCampigns]= useState<{ [K in keyof campaigns]: campaigns[K]}>()
虽然不是最优的,但你仍然可以这样做。
https://marketplace.visualstudio.com/items?itemName=Orta.vscode-twoslash-queries
Expand
有点啰嗦,您不觉得吗;) Playground - zenly