Выбор ответа Middle Feature-Sliced Design обновлено
Две фичи нуждаются в общем
Вопрос
Фича features/checkout хочет использовать компонент из features/promo-code. Как правильно поступить по FSD?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Собрать обе фичи в виджете или странице и связать через пропсы. Слайсы одного слоя не импортируют друг друга даже через публичный API.
Варианты ответа
- Импортировать напрямую: слайсы одного слоя связываются через публичный API
- Собрать обе фичи в виджете или странице и связать через пропсыправильный ответ
- Перенести обе фичи в
shared, чтобы их могли использовать все - Объединить их в одну фичу
features/checkout-and-promo
Разбор
Слайсы одного слоя не импортируют друг друга даже через публичный API. Композицию делают уровнем выше: виджет оформления заказа рендерит обе фичи и передаёт данные, или общее состояние (например, применённый промокод) опускают в сущность. shared не для бизнес-логики. Склеивание фич в одну даёт слайс с двумя ответственностями.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Feature-Sliced Design»
- Минусы FSD
- Объясни FSD
- Слои FSD
- Проверка правил FSD
- Перевод легаси на FSD
- Слой processes
- Слайс
- Разложи страницу товара по FSD