Комментарии 7
Используете Redux в связке с React'ом, мда. Вот это "уровень", смешно и плакать хочется.
Другими словами - разделение кода на логику и представление улучшает возможности повторного использования кода. Ничего нового, просто то же самое применимо и к компонентам. То есть можно разделить компонент на логику и функцию, которая просто получает props и не содержит ничего кроме JSX.
Нужна большая гибкость - разбиваем логику компонента на отдельные повторно используемые сущности. Еще большая - отделяем данные от логики.
Масштабно подобное не применяю, т.к. для этого потребуется самому писать и поддерживать обертку над react-ом, что затратно и выглядит не привычно для других разработчиков.
Применял бы, если бы писал библиотеку компонентов, используемую другими командами, т.к. react-way не очень хорош для этого.
Всем, кого интересует тема, рекомендую "Learning patterns" от Lydia Hallie & Addy Osmani. Правда, у них на ее [темы] раскрытие ушло 400 стр. вместо 3-4, зато хоть польза.
По идее принципы SOLID, отлично помогают в разработке максимально переиспользуемых компонентов - выносим логику с компоненты, делаем так,что бы компонента не зависела от кода вне, выбираем оптимальную абстракцию, как правило помогает писать если не идеальный но более переиспользуемый код
По идее принципы SOLID, отлично помогают в разработке максимально переиспользуемых компонентов - выносим логику с компоненты, делаем так,что бы компонента не зависела от кода вне, выбираем оптимальную абстракцию, как правило помогает писать если не идеальный но более переиспользуемый код
На практике SOLID во фронтенде делает код максимально неудобным, громоздким, убогим и не пригодным для развития/поддержки.
Принципы SOLID конечно помогают, но одних их довольно маловато. Существует довольно много паттернов, подходов, позволяющих улучшить переиспользование кода. Я, кстати, писал статью о тех, с которыми знаком: https://habr.com/ru/post/545368/
Повторное использование компонентов: живи, работай, повторяем цикл