Что находится в слое Shared в FSD

Ответ

Слой Shared в FSD (Feature-Sliced Design) содержит переиспользуемые компоненты, утилиты, хуки и типы, которые не привязаны к конкретной фиче. Это глобальные элементы, используемые во всем приложении.

Примеры содержимого:

  • UI-кит (кнопки, инпуты, модалки)
  • Хуки (useDebounce, useLocalStorage)
  • Утилиты (formatDate, apiClient)
  • Константы (роуты, настройки темы)
  • Типы/интерфейсы (User, ApiResponse)
// Пример структуры
shared/
  ui/
    Button/
      Button.tsx
      Button.module.css
  lib/
    hooks/
      useDebounce.ts
    utils/
      formatDate.ts
  types/
    user.ts

Важно: Shared не должен содержать бизнес-логику или специфичные для фич элементы.