Powoli i pewnie pracuję w typie flowType w moim kodzie, ale zmagam się z jedną koncepcją.Dynamiczne nazwy właściwości w obiekcie typu flow
Jak określić typ nieznanych, dynamicznie nazwanych właściwości obiektu?
Na przykład mój obiekt użytkownika może zawierać obiekt zawierający organizacje z unikalnymi kluczami.
Jak zdefiniować to?
export type User = ?{
currentOrg: string,
displayName?: string,
email: string,
emailVerified: boolean,
newAccount: boolean,
organisations?: {
UNKNOWNKEY?: string {
orgData1: string,
orgData2: string,
}
},
uid: string,
photoUrl?: string,
};
Naprawdę doceniam każdą pomoc w tej sprawie. Dzięki!
Na marginesie, to nie jest dobra praktyka, aby określić typ jako pustych w jego definicji. Prawdopodobnie nie chcesz, aby 'null' było poprawną wartością dla' User' _everywhere_, której typ jest używany. Znacznie lepiej jest się zdecydować, aby pewne zastosowania "użytkownika" były nieważne. na przykład 'typ Bug = {createdBy: User, assignedTo:? User}'. –
Wielkie dzięki. Tak, zauważyłem to samo z perspektywy czasu i stworzyłem dwa typy, NullableUser i DefiniteUser, które mają albo typ użytkownika lub użytkownika. W ten sposób dla większości mojego kodu mogę używać typu DefiniteUser. –