Ответ
Основные сложности при изучении FSD (Feature-Sliced Design):
-
Концептуальный барьер – переход от классических подходов (MVC, компонентный) к слойной архитектуре требует переосмысления структуры проекта.
-
Границы слоёв – сложно определить, куда именно должен попадать код (особенно shared-слои). Пример:
// Плохо: компонент использует хук из features
const UserCard = () => {
const { user } = useUserProfile(); // Хук из features
return <div>{user.name}</div>;
}
// Хорошо: выносим логику в features, компонент - в entities
-
Переиспользование кода – баланс между дублированием и излишней связностью через shared.
-
Инструменты – необходимость настройки алиасов, линтеров для соблюдения правил FSD.
-
Документация – официальная документация иногда отстаёт от реальных кейсов.
Совет: начинать с малого (1-2 фичи), использовать ready-made шаблоны и постепенно углубляться.