feature-sliced / documentation

🍰 Architectural methodology for frontend projects
https://feature-sliced.design
MIT License
1.51k stars 160 forks source link

Вопрос по сегменту ui #518

Closed WoodenPC closed 2 years ago

WoodenPC commented 2 years ago

Привет, возник вопрос по папке ui внутри слайса фичи/виджета . Проект на react + effector. Исходя из описания методологии, кажется, что внутри любого компонента, который лежит в feature/ui мы можем коннектиться к стору. Стал замечать, что у меня появляется микс компонентов внутри feature/ui, часть коннектиться к стору, а часть нет. И те компоненты, что не коннектятся к стору, в entity не засунешь, т.к. они в основном появляются из-за какой то сложной верстки, которую выносим в отдельный компонент, и этот новый компонент переиспользуется между файлами в feature/ui. Появляется навязчивая мысль разделять ui и ui-components, что очень похоже на containers/components, чего очень не хотелось бы делать. Методология как то регламентирует такие моменты ? Или это норма ?

AlexandrHoroshih commented 2 years ago

Привет!

Нет, методология никак не регулирует структуру ui-сегмента, только содержимое Внутри допустимо использовать и свою структуру, и условный atomic-design, и тд

azinit commented 2 years ago

Стал замечать, что у меня появляется микс компонентов внутри feature/ui, часть коннектиться к стору, а часть нет. И те компоненты, что не коннектятся к стору, в entity не засунешь, т.к. они в основном появляются из-за какой то сложной верстки, которую выносим в отдельный компонент, и этот новый компонент переиспользуется между файлами в feature/ui. Появляется навязчивая мысль разделять ui и ui-components, что очень похоже на containers/components, чего очень не хотелось бы делать

Плюс добавил бы, что "коннектинг" к стору - не единственная мера абстрактности модуля

Например: Card и UserCard оба могут не коннектиться к стору, при этом UserCard более конкретный и часто изменяемый чем uikit-ный Card, т.к. еще добавляет специфику обработки данных в UI

Но если по абстрактности (~ степени ответственности) становится заметно, что компонент сильно отличается от других в этом слое, возможно как раз стоит его вынести в слой пониже/повыше (смотря какие слои внедрены в проекте и готова ли к этому команда)

У components/containers есть свои недостатки , но если хочется - можно использовать смело, если хотите с командой (методология это не регулирует, если это не противоречит общим концепциям слайсов/сегментов)

image image

WoodenPC commented 2 years ago

Спасибо) Вопрос закрыт