Pull to refresh
4
0
Умалат Мичигишев @GreatFix

Frontend developer

Send message

На этом скрине все изменения, что есть. Codesandbox и статью не стал обновлять, т.к. на интерфейсах легче понять читателю.

Использование generic для избавления от boilerplate
Использование generic для избавления от boilerplate

На ночь пришла идея как избавиться от импорта интерфейсов подкомпонентов и обьявления новых интерфейсов(типа IFigureRectangle). При таком виде, если мы хотим добавить новый подкомпонент, то просто добавляем еще одну строчку в IFigure.

Типы ориентированы под функциональный компонент, но можно подправить, если пригодится для классовых.

Это очень хорошо, что вы решили попробовать это на практике!

Насчет использования &, то здесь скорее нет технической разницы и каждый может выбрать то, что ему по душе. Я, например, предпочитаю использовать type для сущностей (User, Card, Address), функций ((name: string)=>void) или для объединения нескольких interface. А interface использую для всего остального.

Что касается реализации на js, то в статье описаны проблемы, которые возникают на нем. В вашем примере вам даже пришлось отказаться от jsx.

Я лишь хотел рассказать, как можно использовать typescript правильно, если он есть в проекте. Чтобы от него была действительная польза, а не только упоминание в стэке проекта.

Спасибо за комментарий. Параметр type в данном случае является параметром нашего компонента-фабрики и к подкомпонентам не имеет отношения.

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