Appearance
Слой 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 определяется не количеством потребителей, а отсутствием знания о продукте.