refactor: clarify frontend module ownership
This commit is contained in:
@@ -47,7 +47,7 @@ throwing route, безопасная ссылка и reset после navigation
|
||||
|
||||
Примеры: [AuthForm test](../../src/features/auth/ui/AuthForm/AuthForm.test.tsx),
|
||||
[client test](../../src/shared/api/client.test.ts),
|
||||
[resource lifecycle test](../../src/entities/portfolio/api/resource-lifecycle.test.tsx).
|
||||
[resource lifecycle test](../../src/shared/api/resource-query.test.tsx).
|
||||
Не копируй fixtures/сценарии целиком, если задача затрагивает один исход.
|
||||
|
||||
## Команды
|
||||
|
||||
@@ -76,9 +76,9 @@ JSX props получают ссылки на функции, включая `onC
|
||||
Closure над состоянием, mutations и refs является действием VM, а не shared helper.
|
||||
|
||||
VM собирает связные предметные hooks, когда внутри смешиваются независимые
|
||||
сценарии. Например, `useOpeningDateField` владеет draft/date parsing и событиями
|
||||
даты, `usePaymentSystemField` — выбором платёжной системы. Каждый такой hook
|
||||
возвращает данные и действия своей ответственности, VM объединяет их для view.
|
||||
сценарии. Например, `useRefundPurchase` владеет выбором исходной покупки,
|
||||
её загрузкой и пагинацией. Общий адаптер `bankDateField` обслуживает поля даты;
|
||||
простое подключение одного controller остаётся в VM формы.
|
||||
Не группируй несвязанные функции только по префиксу `on*` и не создавай
|
||||
passthrough hook над одним вызовом ради формального дробления.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user