2017-02-11 2 views
6

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, 
}; 

정말로 도움이 되시길 바랍니다. 감사!

+0

, 그것의 정의에 널 (NULL)와 같은 유형을 정의하는 것이 좋습니다 아니에요 :

귀하의 전체 예제처럼 보일 것이다. 타입이 사용되는'User' _everywhere_에 대해'null'이 유효한 값이되기를 원하지 않을 것입니다. 'User'의 특정 사용을 nullable로 만드는 것을 선택하는 것이 훨씬 낫습니다. 예 : 'Bug = {createdBy : User, assignedTo :? User}'를 입력하십시오. –

+0

대단히 감사합니다. 그렇습니다. 나는 회고하면서 같은 것을 알아 차렸고, 사용자 또는 사용자 유형 중 하나 인 NullableUser와 DefiniteUser의 두 가지 유형을 만들었습니다. 그런 식으로 대부분의 코드에서 DefiniteUser 유형을 사용할 수 있습니다. –

답변

6

흐름은지도처럼 동작하는 객체의 경우 specific syntax입니다. 보조 노트로

export type User = { 
    currentOrg: string, 
    displayName?: string, 
    email: string, 
    emailVerified: boolean, 
    newAccount: boolean, 
    organisations?: { [key: string]: string }, 
    uid: string, 
    photoUrl?: string, 
}; 
+0

아아 알 겠어. 정말 고마워요! –

관련 문제