[英]Dynamic property names in flow typed object
我正在缓慢而确定地将 flowType 用于我的代码,但我正在为一个概念而苦苦挣扎。
如何指定对象的未知、动态命名属性的类型?
例如,我的用户对象可能有一个包含具有唯一键的组织的对象。
我将如何定义这个?
export type User = ?{
currentOrg: string,
displayName?: string,
email: string,
emailVerified: boolean,
newAccount: boolean,
organisations?: {
UNKNOWNKEY?: string {
orgData1: string,
orgData2: string,
}
},
uid: string,
photoUrl?: string,
};
真的很感激这方面的任何帮助。 谢谢!
Flow 对于行为类似于地图的对象具有特定的语法:
{ [key: K]: V }
其中K
是键的类型, V
是值的类型。
您的完整示例如下所示:
export type User = {
currentOrg: string,
displayName?: string,
email: string,
emailVerified: boolean,
newAccount: boolean,
organisations?: { [key: string]: string },
uid: string,
photoUrl?: string,
};
实际上,在 TypeScript 中,您可以为键使用名称,然后传递键的类型:
type User = {
[key: string | number]: string;
};
在 FlowType 中,您可以像 TypeScript 一样进行操作,也可以在没有示例名称的情况下进行操作:
type User = {
[string | number]: string,
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.