Je veux avoir un tableau d'un objet comme suit.
Cependant TypeScript génère une erreur La propriété 0 est manquante dans le type []
let organisations: [{name: string, collapsed: boolean}] = [];
Ce que vous définissez est un type Tuple (un tableau avec un nombre fixe d'éléments et des types hétérogènes). Comme les tuples ont un nombre fixe d'éléments, le compilateur vérifie le nombre d'éléments lors de l'affectation.
Pour définir un tableau, le []
doit venir après le type d'élément
let organisations: {name: string, collapsed: boolean}[] = [];
Ou de manière équivalente, nous pouvons utiliser Array<T>
let organisations: Array<{name: string, collapsed: boolean}> = [];
Vous pouvez définir des types de tuples comme -
type organisationsType = {name: string, collapsed: boolean};
let organisations: organisationsType[];
Rappelez-vous tableau le []
doit venir après le type d'élément, comme organisationsType
dans l'exemple ci-dessus.