# АРХИТЕКТУРА REACT КОМПОНЕНТОВ СИСТЕМЫ SFERA ## 🎯 ОБЩИЕ ПРИНЦИПЫ АРХИТЕКТУРЫ ### 1. МОДУЛЬНАЯ АРХИТЕКТУРА (Официальный стандарт) **Применяется для компонентов >500 строк (обязательно) и >800 строк (рефакторинг)** ```typescript // ✅ Модульная структура (пример: create-suppliers) src/components/supplies/create-suppliers/ ├── index.tsx // Главный компонент-оркестратор ├── blocks/ // UI блок-компоненты │ ├── SuppliersBlock.tsx // Выбор поставщиков │ ├── ProductCardsBlock.tsx // Каталог товаров │ ├── DetailedCatalogBlock.tsx // Детальный каталог │ └── CartBlock.tsx // Корзина заказа ├── hooks/ // Бизнес-логика │ ├── useSupplierSelection.ts // Логика выбора поставщиков │ ├── useProductCatalog.ts // Логика каталога │ ├── useRecipeBuilder.ts // Построение рецептур │ └── useSupplyCart.ts // Управление корзиной └── types/ └── supply-creation.types.ts // TypeScript интерфейсы ``` ### 2. ПРИНЦИП КОМПОЗИЦИИ КОМПОНЕНТОВ ```tsx // ✅ Главный компонент как оркестратор export function CreateSuppliersSupplyPage() { // Подключение hooks для бизнес-логики const supplierLogic = useSupplierSelection() const catalogLogic = useProductCatalog() const cartLogic = useSupplyCart() return (
{error}
{onRetry && ( )}{message}
{action}Корзина пуста
Добавьте товары из каталога
для создания поставки