refactor: enforce account page view model boundary
This commit is contained in:
+7
-3
@@ -13,8 +13,12 @@
|
||||
|
||||
## File roles
|
||||
|
||||
- `Component.tsx` - контейнер или публичный компонент.
|
||||
- `Component.vm.ts` - hook с данными и действиями.
|
||||
- `Component.view.tsx` - чистое представление.
|
||||
- `Component.tsx` - контейнер или публичный компонент; для data-driven pages вызывает page VM hook и выбирает top-level state view.
|
||||
- `Component.vm.ts` - hook с данными, действиями, state selection и derived presentation data.
|
||||
- `Component.view.tsx` - чистое представление: получает props, рендерит JSX и не вызывает data/auth/router/navigation/VM hooks.
|
||||
- `Component.types.ts` - props и локальные типы.
|
||||
- `Component.module.css` - локальные стили.
|
||||
|
||||
Большие view files дробить по ответственности. Если section/state можно
|
||||
самостоятельно назвать, вынести его в соседний presentation component вместо
|
||||
накопления смысловой нагрузки в одном файле.
|
||||
|
||||
Reference in New Issue
Block a user