Ivan-P
@Ivan-P

Зачем нужны маленькие React / Angular компоненты?

Имею стаж 4 года в веб разработке, пишу 3 года на Ангуляре. Всегда работал в компаниях, где все фронты были чистыми ангулярщиками И тут волею судьбы попадаю в новую компанию, где половина фронтедщиков писали в большинстве случаев на реакте. Так как проект новый, пишется с нуля, то царит небольшой хаос, еще обсуждаются и утверждаются архитектура, код стайлы и тд. И вот на очередном митинге я слышу о необходимости написания таких компонентов как.. кнопка, инпут, чекбокс...
Нет, ну я то понимаю и всегда делаю вынесение в отдельные компоненты кусков кода, коротый многоразово переистользуется, как-то айтем-товара, менюшка, сайдбар, таблица... Но КНОПКА! Но ИНПУТ!!!
Вот казалось бы считал я себя кем-то средним между мидлом и сеньером, заморачивался более высокими материями, сложными конструкциями и абстрациями, хотя и не гнушался, если необходимо что-то подверстать, но в голове не укладывается зачем сознавать компонент, писать для него тесты, внутри которого будет всего лишь однин html-тег, на который параметрами будут навешиваться атрибуты, добавляться css-классы если можно и так навесить необходимые html-теги и css-классы!? Зачем делать такую бойлерплейт-работу? Зачем создавать лишний код, который будет лишний раз нагружать браузер пустой JS работой если все уже придумано в html? От колег я смог получить лишь довольно специфическое обьяснение что я ретроград и "так прикольнее"...
  • Вопрос задан
  • 243 просмотра
Решения вопроса 3
vicodin
@vicodin
Имею некоторый опыт
Не понял в чем вопрос, кнопку можно/нужно вынести в отдельный компонент, чтобы переиспользовать её в нескольких местах без дубликации кода. Всё.
Ответ написан
Комментировать
Robur
@Robur
Знаю больше чем это необходимо
Смысл может быть а может и не быть.
Если у вас компонент состоит только из одного тега и все - то конечно нет смысла.
Если есть хотя бы две вещи связанные друг с другом, например тег+стиль, или тег+код - то уже есть смысл.
Ответ написан
Комментировать
Если есть некий фирменный стиль, то компонент кнопка однозначно отражает дизайн этого стиля: фиксированные размеры, допустимые цвета. А если этого стиля нет, то такой компонент в дальнейшем позволит его легко поддержать.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер
Ангуляр не поощряет делать много маленьких компонентов. В ангуляре компонент это большая штука.
В том же вью оно проще, радостно лепишь кучу компонентов на любой чих.
В конце концов, для вещей, о которых вы пишете, есть директивы.

И уж если вместо хотят вместо <input [class.loading]="loading" type="button"> порываются сделать
<app-my-button [loading]="loading"></app-my-button>
и прилепить ради этого целый компонент, то это уже вообще реакт головного мозга.
Люди просто не умеют в ангуляр, вот и весь ответ.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы