
Pages
Включает компоненты высокого уровня, определенные маршрутами приложения. Они импортируют более низкоуровневые компоненты из папки модулей (подробности ниже).Модули
Каждый модуль представляет собой функционал или группу функций, содержащий свои специфические компоненты, состояния и операционную логику. Все они должны следовать структуре ниже. Вы можете вложить модули в модули (называются подмодулями), и те же правила будут применяться.Контексты
Контекст — это способ передачи данных через дерево компонентов без необходимости передавать props вручную на каждом уровне. См. React Context для более подробной информации.GraphQL
Включает фрагменты, запросы и мутации. См. GraphQL для более подробной информации.- Фрагменты
- Запросы
- Мутации
Хуки
См. Hooks для более подробной информации.Состояния
Содержит логику управления состоянием. RecoilJS этим управляет.- Селекторы: См. RecoilJS Selectors для более подробной информации.
Утилиты
Должны содержать только переиспользуемые чистые функции. В противном случае создайте пользовательские хуки в папкеhooks.
Пользовательский интерфейс
Содержит все переиспользуемые компоненты пользовательского интерфейса, используемые в приложении. Эта папка может содержать подкаталоги, такие какdata, display, feedback и input для конкретных типов компонентов. Каждый компонент должен быть автономным и переиспользуемым, чтобы вы могли использовать его в разных частях приложения.
Разделяя компоненты пользовательского интерфейса от других компонентов в папке modules, легче поддерживать согласованность дизайна и вносить изменения в пользовательский интерфейс, не затрагивая другие части (бизнес-логику) кодовой базы.
Интерфейс и зависимости
Вы можете импортировать код других модулей из любого модуля, кроме папкиui. Это позволит упростить тестирование его кода.