流类型对象中的动态属性名称

Sam*_*ews 19 javascript syntax flowtype

我正在慢慢地将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,
};
Run Code Online (Sandbox Code Playgroud)

真的很感激任何帮助.谢谢!

Pet*_*all 22

Flow具有与地图相似的对象的特定语法:

{ [key: K]: V }
Run Code Online (Sandbox Code Playgroud)

KV的类型在哪里,是值的类型.

您的完整示例如下所示:

export type User = {
  currentOrg: string,
  displayName?: string,
  email: string,
  emailVerified: boolean,
  newAccount: boolean,
  organisations?: { [key: string]: string },
  uid: string,
  photoUrl?: string,
};
Run Code Online (Sandbox Code Playgroud)