Skip to content

Слой shared

shared содержит код, который не знает бизнес-домен приложения.

Полный стек

Дополнительные generic infrastructure mechanisms полного стека разбираются отдельно в Full Stack Guide.

Простой тест

Спросите:

Можно ли перенести этот модуль в другой React-проект, где нет постов, авторов и комментариев?

Если ответ «да», shared может быть подходящим местом.

Что может находиться в shared

Например:

txt
shared/
  ui/
    Button/
    Input/
  hooks/
    useToggle.ts
  helpers/
    capitalize.ts

Что не должно быть в shared

Плохие кандидаты:

txt
shared/PostCard
shared/usePosts
shared/formatPostStatus

Они знают домен блога.

Переиспользуемый не значит shared

PostCard может использоваться на пяти страницах, но он всё равно остаётся бизнес-компонентом. Его место — components/posts.

shared определяется не количеством потребителей, а отсутствием знания о продукте.