2016-12-05 4 views
1

wenn ich diese Bewegungsart zu erstellen:Flowtyp: Array möglicher Strings darf nicht leer sein?

export type List = [ 
    'some' | 
    'strings' | 
    'allowed' | 
    'to' | 
    'use' 
]; 

ich nicht erlaubt bin: const myList: List = [];

dies ist der Fehler: empty array literal: This type is incompatible with a tuple type that expects a 1st element of non-optional type string enum

Das einzige, was ich mit oben kommen kann, ist das Hinzufügen typeof undefined zur Liste der möglichen Werte. Aber es muss einen einfacheren Weg geben, um es leer zu lassen?

+1

Dies ist die Tupel Syntax möchten: https://flowtype.org/docs/arrays.html#tuples. Was Sie geschrieben haben, ist der Typ eines Einzelelementarrays, das einen dieser Strings enthält. gcanti hat erklärt, wie Sie erreichen können, was Sie wollen. –

Antwort

7

Sie definiert ein Tupel von einem Element, Sie

type Element = 
    'some' | 
    'strings' | 
    'allowed' | 
    'to' | 
    'use'; 

export type List = Element[]; 
// or export type List = Array<Element>; 

const myList: List = [] 
+0

natürlich! Vielen Dank! –

Verwandte Themen