web_Developer_Victor
@web_Developer_Victor
Что такое google?

Нормально ли иметь много React компонентов в небольшом проекте?

Привет. Сейчас изучаю React. Друзья посоветовали курс "React + Redux - Профессиональная Разработка" на udemy. Но уже на втором проекте я заметил, что компонентов стает все больше и больше (github). Но проект сам по себе не большой. Это нормально, что на таком маленьком проекте столько компонентов и для каждого нужно делать отдельную директорию и файл? И, если не трудно, скиньте силку на какие-то хорошие (с точки написания кода) React проекты, чтобы знать как должен выглядеть настоящий проект
  • Вопрос задан
  • 1241 просмотр
Решения вопроса 3
joeberetta
@joeberetta
Читай: https://epdf.pub/google-for-dummies.html
Нет верного ответа, как и вопрос крайне относительный. У каждого разное понимание "маленького" проекта. Также не стоит забывать, что реакт - библиотека с компонентным подходом. К примеру возьмем главную страницу Гугла. Там могли бы быть такие "большие" компоненты как "шапка" и "main" которые в свою очередь состоят из множества других компонентов, как: кнопка/поле/форма/ссылка и все это можно сколько угодно разбивать на более мелкие компоненты, пока не достигнете уровня компонент == тег(html).
В таком случае вопрос уже в том, насколько это целесообразно в рамках конкретного проекта. Насколько они должны быть мелкими зависит от того, насколько реюзабельными они должны быть

З.ы. прошу прощения, если вода/тавтология
Ответ написан
Комментировать
neuotq
@neuotq
Прокрастинация
Сразу отмечу что Юрий Бура отличный профессионал своего дела, курс его не изучал, но беглый взгляд показал что поход у него хороший, системный и он старается все же доносить суть. Главная целье его курса научиться пользоваться реактом, понять суть современного подхода к фроентенду в целом.
Далее уже по существу. Нужно погрузится в саму историю и причны появления Реакта. Инженеры в facebook в одно время сильно замучались строить интерфейсы, генерировать всё эту ерунду было сложно, еще проблемы уязвимостей (куча форм, для комментарией, постов, картинко и тп), недобный и громозкий PHP код заставил их задуматься об упрощении. Хотелось писать интерфейс как обычну функцию с параметрами, поэтому они придумали xhp, которые позволил буквально писать формы сразу в php (hack), легко, наглядно. Быстро видно что происходит, меньше ошибок, и легко использовать код формы (вместе с всей ее логикой построения, это и генерация формы на основе данных, и тп) заного много раз. Этот же подход был очень удобен и для других частей интерфейса, меня, списка постов и тп.
И это, с развитием новых концепций, браузеров, технологий и требований к быстроте интерфейса вдохновила их перенести этот концепт на JS, так родился React. Его революционность была в том, что на выходе резко упростились любые манипуляция с интерфейсом на фронтенде, сильно упал порог входа, получили легко читаемый и понятный код для решения практических задач (понятно, что при желании можно и тут засрать, но до этого в принципе большенство интерфейсов на js писалось через большие муки, с кучей неудобного кода, компромисами и тд и тп, а теперь все это взял на себя реакт).
Что мы имеем:
есть какая-либо часть интерфейса, логически независимая от других, с определенной структурой внутри - делаем компонент. Компонент это не только то, что мы обязательно будем использовать повторно (например), но понятная логически обособленная часть интерфейса, у которой может быть своя логика внутри, и своя функция на сайте снаружи.
Ничего страшного если сразу всё не продумал или на определенном этапе что-то идёт не идеально и тп.
Конечно хорошо иметь план на проект и проектировать многие вещи сразу, но рефакторинг, пивоты, изменения - вот реальность жизни.
Так что не волнуйся, первое что сделай измени восприятие самого интерфейса и приложения в целом. Теперь ты делаешь не сайт на html, а приложение с интерфейсом. Вот когда в таком ключе смотреть, то намного легче.
Ответ написан
Комментировать
@AlexandrNikolaichev
Во-первых, по ссылке выше компонентов всего 14. Это немного, в реальных проектах их конечно больше.
Во-вторых, не стоит бездумно дробить компоненты на части просто потому, что так можно делать. Если фрагмент кода можно переиспользовать - выделяем в компонент. Или если компонент разросся больше тысячи строк, тоже можно поделить.
Вот пример компонентов анта https://github.com/ant-design/ant-design/tree/mast...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Robur
@Robur
Знаю больше чем это необходимо
да.
"Много" - это сотни.
А по вашей ссылке меньше 10 - с большой вероятностью там даже упрощено для примера.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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