Я медленно и уверенно работаю 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,
};
Приятно оценить любую помощь по этому вопросу. Благодаря!
Как примечание стороны, это не хорошая практика, чтобы определить свой тип, как обнуляемые в его определении. Вероятно, вы не хотите, чтобы «null» был допустимым значением для «User' _everywhere_», используемого этим типом. Гораздо лучше отказаться от использования определенных пользователем «Пользовательских» значений. например 'type Bug = {createdBy: User, assignTo:? User}'. –
Большое спасибо. Да, я заметил то же самое в ретроспективе и создал два типа: NullableUser и DefiniteUser, которые либо имеют тип пользователя или пользователя. Таким образом, для большей части моего кода я могу использовать тип DefiniteUser. –