Я использую Typescript для написания компонентов React. В настоящее время я определяю типы реквизита как Typescript type
. Вот пример:
type Props = {
id: number //required
name: string | null //optional
}
type ParentProps = Array<Props>
let props:ParentProps = [
{
id:5,
name:"new"
},
{
id:7,
}
]
//Gives error: Property 'name' is missing in type '{ id: number; }' but required in type 'Props'
В этом случае я хотел бы, чтобы type
ParentProps
был просто массивом type
Props
. На практике ключ имени, допускающий значение NULL, хорошо работает для отдельных объектов типа Prop
. При объявлении объекта типа ParentProps
this отображается в приведенном выше фрагменте.
Для согласованности с более простыми компонентами я бы предпочел использовать type
для определения свойств компонентов, а не интерфейса. У кого-нибудь есть совет о том, как объявить тип для определения массива объектов типов, которые допускают определенные нулевые ключи.
Спасибо.