Обновить

Комментарии 5

Более интутивно понятный подход в сравниении с FSD

Работала и с проектами на Bulletproof React и с проектами на FSD. Проекты на FSD это кашекод в котором крайне трудно что то искать, в отличие от Bulletproof.

Видно, что автор этого подхода действительно его выстрадал, поработав с десятком проектов на лапшекоде Redux и разочаровавшись в FSD. И в целом сделал логичный следующий шаг, решив несколько проблем легаси-проектов.

Осталась всего сотня-две таких шагов и получится что-то нормальное - без прибивания гвоздями к Реакту, хукам, с нормальной файлогенерацией и автовалидацией, со встроенным эффективным feedback loop для LLM, со стабильными SSR / Widget режимами, без 2-3мб бандла на старте и т.п. И пройдя это все и протестируя на десятках проектов с разного размера командами, окажется что Flat Architecture (я предпочитаю называть "классическая файловая структура") не так уж и плоха, если скомпоновать в формализованные слои.

Но как шаг для борьбы с легаси в условном 2018 году выглядит отлично. Как старт для новых проектов - очень сомнительно.

Между UI State и Application State в некоторых более-менее сложных приложениях есть еще один уровень стейт менеджемента - это локализованные состояния для группы компонентов связанных между собой горизонтально и/или вертикально. Назвать ее можно как угодно: Widget State, Feature State. Это в основном композиции из нескольких компонентов которые все вместе образуют какой то цельный виджет или логику. Выносить состояния на уровень Application State размазывает локальную логику на глобал, а опустить на уровень UI State (useState, useReducer, Context) приводит к запутанным и не оптимизированным конструкциям типа prop drilling

Если у вас useContext приводит к prop drilling, значит вы неправильно его используете

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации