TGViewer
Спасибо, я лайкнул Спасибо, я лайкнул @thxilikeit · 230 subscribers
Post #111 182
UI Renderer или Representation — следующий слой нашей архитектуры.

Есть ощущение, что всё, что я уже написал, больше подходит для бэкенд-разработки?
Да, это практически так и есть. MATRIX появилась в условиях разработки BFF, а это и есть обычный бэкенд-сервис.

Но на фронтенде ситуация практически та же самая.
Я имею в виду все те принципы, что мы уже рассмотрели:
* доменные сущности и их преобразования,
* стабильные импорты,
* направление импортов и т. д.

😦 Из нового здесь, пожалуй, лишь то, что у нас все компоненты — "глупые".

Надеюсь, все знакомы со статьёй Дэна Абрамова где он описал паттерн разделения React-компонентов на презентационные (глупые) и контейнерные (умные). Презентационные компоненты отвечают только за отображение UI и получают данные через props, а контейнерные управляют логикой и состоянием.

Так вот, чтобы "умные" компоненты не становились слишком "умными", мы вообще от них отказались. "Умный" — значит, много знает про бизнес-логику и доменные сущности, а мы уже решили, что всё, что как-то обрабатывает доменные сущности, к домену и относится.

Поэтому у нас остаются только "глупые" компоненты, для которых мы прописываем свой контракт взаимодействия (пропсы), чтобы они приняли нужные пропсы и отобразили нужный UI. Остаётся только как-то передать эти пропсы в компоненты. Здесь на помощь приходит паттерн composeHooks.

На самом деле, это что-то вроде connect из Redux, который подключает компонент к стору с данными. Только в нашем случае composeHooks подключает компоненты к доменным сущностям в агностик режиме.

React Hooks Compose — композиция хуков для чистой архитектуры 🧩
Библиотека react-hooks-compose позволяет отделить хуки от компонентов, создавая переиспользуемые контейнеры. Она работает по принципу Redux connect, но для хуков — принимает хук и компонент, возвращает компонент с внедрёнными данными. Ключевой момент: хуки не содержат бизнес-логику, а служат адаптерами для подключения доменных сущностей к UI.
#hooks #architecture #composition
  • 👍 5
  • ❤ 1
  • 💯 1
More from @thxilikeit
  1. Jun 20, 2026Если не можешь остановить бесконечную генерацию слопа — возглавь её, как грится. Оказалось…
  2. Nov 7, 2025Директивы захватывают React-экосистему! 🎯 JavaScript годами жил с одной директивой — use…
  3. Nov 5, 2025🎭 Лебедь, рак и щука: три философии React Осень в React-экосистеме как никогда напоминает…
  4. Oct 31, 2025Искать сеньера в конце 2025-го, конечно, впечатляет. Процентов 80 кандидатов на сеньорские…
  5. Oct 30, 2025Тайлер Виген — человек, который превратил статистический троллинг в искусство. 🖼 С 2014 г…
  6. Oct 29, 2025🎯 А вот и гайды для Next.js подъехали: как запустить фреймворк внутри ChatGPT Next.js не…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →