Умалат Мичигишев @GreatFix
Frontend developer
Information
- Rating
- Does not participate
- Location
- Ростов-на-Дону, Ростовская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Frontend Developer, Web Developer
JavaScript
React
TypeScript
NextJS
Express
Node.js
Webpack
Redux
HTML
CSS
Очень крутая статья!
Не пробовал.
На этом скрине все изменения, что есть. Codesandbox и статью не стал обновлять, т.к. на интерфейсах легче понять читателю.
На ночь пришла идея как избавиться от импорта интерфейсов подкомпонентов и обьявления новых интерфейсов(типа IFigureRectangle). При таком виде, если мы хотим добавить новый подкомпонент, то просто добавляем еще одну строчку в IFigure.
Типы ориентированы под функциональный компонент, но можно подправить, если пригодится для классовых.
Это очень хорошо, что вы решили попробовать это на практике!
Насчет использования &, то здесь скорее нет технической разницы и каждый может выбрать то, что ему по душе. Я, например, предпочитаю использовать type для сущностей (User, Card, Address), функций ((name: string)=>void) или для объединения нескольких interface. А interface использую для всего остального.
Что касается реализации на js, то в статье описаны проблемы, которые возникают на нем. В вашем примере вам даже пришлось отказаться от jsx.
Я лишь хотел рассказать, как можно использовать typescript правильно, если он есть в проекте. Чтобы от него была действительная польза, а не только упоминание в стэке проекта.
Спасибо за комментарий. Параметр type в данном случае является параметром нашего компонента-фабрики и к подкомпонентам не имеет отношения.