Руководство разработчика
Это руководство предоставляет практические рабочие процессы для разработчиков, работающих с@ui8kit/core. Оно охватывает стратегии выбора компонентов, паттерны использования системы вариантов, навигацию по архитектурным слоям и подходы к интеграции. Эта страница служит отправной точкой для понимания эффективного использования библиотеки в различных сценариях разработки.
Для подробных пошаговых примеров см. Базовый рабочий процесс. Для обработки крайних случаев и пользовательских реализаций см. Продвинутый рабочий процесс. Для общих рекомендаций см. Лучшие практики. Для настройки темы см. Темная тема.
Обзор рабочего процесса разработки
Библиотека поддерживает три основных подхода к разработке на основе архитектурных слоев:Модель разработки на основе слоев
Руководство по выбору компонентов
Когда использовать каждый слой
| Сценарий | Слой | Выбор компонента | Пример использования |
|---|---|---|---|
| Приложение панели управления | Слой 3 | DashLayout | Админ-панель с боковой панелью, заголовком, изменяемыми панелями |
| Секция контента с сеткой | Слой 3 | LayoutBlock | Секции целевой страницы с несколькими блоками контента |
| Разделение на два столбца | Слой 3 | SplitBlock | Сравнение функций, макеты изображение + текст |
| Кнопка действия | Слой 2 | Button | Отправка формы, навигация, призывы к действию |
| Карточка контента | Слой 2 | Card | Карточки товаров, статьи блога, профили пользователей |
| Сворачиваемые секции | Слой 2 | Accordion | FAQ, панели настроек |
| Боковой выдвижной элемент | Слой 2 | Sheet | Мобильное меню, фильтры, уведомления |
| Пользовательская форма | Слой 1 | Block + Box | Элементы формы, когда UI-компонентов недостаточно |
| Универсальный контейнер | Слой 1 | Box | Обертка с конкретными потребностями в стилизации |
| Макет CSS Grid | Слой 1 | Grid | Фотогалереи, сетки товаров |
| Макет Flexbox | Слой 1 | Flex | Панели навигации, панели инструментов |
| Вертикальный/горизонтальный стек | Слой 1 | Stack | Поля формы, группы кнопок |
Применение системы вариантов
Поток вариантов в разработке
Общие паттерны разработки
Паттерн 1: Прямое использование примитивов
Для базовых потребностей в макете используйте базовые примитивы с вариантами:Паттерн 2: Использование составных компонентов
Для предварительно стилизованных UI-элементов используйте компоненты слоя 2:Паттерн 3: Использование шаблонов макетов
Для структуры приложения используйте макеты слоя 3:Паттерн 4: Проброс пропсов с вариантами
Составные компоненты наследуют пропсы вариантов от примитивов:Паттерн 5: Хуки контента в макетах
Макеты поддерживают динамическую инъекцию контента:Подходы к интеграции
Выбор метода установки
Настройка среды разработки
Необходимые зависимости
| Зависимость | Тип | Назначение | Установка |
|---|---|---|---|
react | Peer | Фреймворк React | npm install react@^18 или @^19 |
react-dom | Peer | Рендеринг React DOM | npm install react-dom@^18 или @^19 |
tailwindcss | Dev | Утилитарный CSS | npm install -D tailwindcss |
class-variance-authority | Direct | Движок вариантов | Включен в @ui8kit/core |
lucide-react | Direct | Иконки (Sheet, Accordion) | Включен в @ui8kit/core |
react-resizable-panels | Direct | Изменяемые панели (DashLayout) | Включен в @ui8kit/core |
Конфигурация Tailwind
Настройте Tailwind для обработки классов библиотеки:Жизненный цикл компонента в разработке
От выбора до рендеринга
Работа с атрибутами Data-Class
Все компоненты используют атрибутыdata-class для согласованного таргетинга DOM:
Паттерн идентификации компонентов
Использование в тестировании/автоматизации
Использование паттерна ForwardRef
Компоненты используютforwardRef для доступа к ref базовых DOM-элементов:
Доступ к Ref в разработке
Безопасность типов в разработке
Интеграция с TypeScript
Все компоненты предоставляют полные определения типов:Следующие шаги
Для подробных рабочих процессов разработки:- Базовый рабочий процесс - Пошаговые паттерны для распространенных сценариев
- Продвинутый рабочий процесс - Пользовательские формы и обработка крайних случаев
- Лучшие практики - Производительность, доступность и организация кода
- Темная тема - Конфигурация и использование провайдера темы