#javascript #reactjs #typescript #react-typescript
Вопрос:
Я новичок в машинописи, и мне нужно создать интерфейс для следующего типа реквизитов:
const myProps = [
{
name: 'name1',
on: true,
children: [
{ name: 'test1', href: '#' },
{ name: 'test2', href: '#' },
{ name: 'test3', href: '#' }
]
},
{
name: 'name2',
on: false,
children: [
{ name: 'test1', href: '#' },
{ name: 'test2', href: '#' },
{ name: 'test3', href: '#' },
{ name: 'test4', href: '#' },
{ name: 'test5', href: '#' }
]
},
{
name: 'name3',
on: false,
children: [{ name: 'test1', href: '#' }]
}
];
Я хочу создать интерфейс для его использования в приложении React Typescript.
Это интерфейс до сих пор:
export interface IChildren {
name: string,
href: string
}
export interface IMyProps {
name: string,
on: boolean,
children: IChildren,
}
Он не работает, я думаю, у него должны быть какие-то массивы. Есть какие-нибудь предложения?
Комментарии:
1. Типом
children
свойства вIMyProps
должен быть массив, либоArray<IChildren>
илиIChildren[]
2. @Wazeed, почему бы вам не преобразовать свой комментарий в ответ.
Ответ №1:
Вы можете попробовать вот так,
export interface CommonProps {
name: string;
href: string;
}
export interface MyProps {
name: string;
on: boolean;
children: Array<CommonProps>;
}
Также обратите внимание, что интерфейсы данных не должны начинаться с соглашений об именах
"I"
Интерфейсы, в которых есть объявления методов, должны иметь"I"
такие
IMethodService