Наличие всех ваших интерфейсов, типов и определений свойств в одном глобальном файле делает практически невозможным управление. Я пытаюсь добиться чего-то в этом направлении:
Types/
| - interfaces.d.ts
| - props.d.ts
| - project.d.ts
Определение интерфейсов
namespace types extends Project {
interface Foo {
name: string;
age: number;
}
}
Определение реквизита
namespace props extends Project {
interface Bar {
color: string;
position: 'top' | 'bottom';
}
}
Пространство имен проекта
export declare namespace Project{
...other stuff
}
Я пытаюсь его использовать в приложении React, поэтому я хотел бы сделать такие вещи, как
Component<Project.props.Bar> = () => {
data: Propject.types.Foo = {...};
}
Как можно достичь такой структуры?
Я прикрепил Codesandbox с желаемым результатом (обратите внимание, что он Машинописные ошибки) https://codesandbox.io/s/fervent-wright-nh673?file= / src / App.tsx