Вступить в клуб →
средняявопросАрхитектура фронтенда: FSD, дизайн-система, микрофронтенды

У кнопки дизайн-системы 14 булевых пропсов, и никто не знает, что будет при isPrimary и isDanger

<Button isPrimary isDanger isSmall isLarge isOutline isGhost>Удалить</Button>

Компонент принимает isPrimary, isSecondary, isDanger, isGhost, isOutline, isSmall, isLarge и ещё семь флагов. Команды жалуются, что непонятно, какой из конфликтующих флагов победит. Как лучше спроектировать API компонента?

  • Взаимоисключающие флаги заменить пропсами-перечислениями variant и size
  • Задокументировать приоритет флагов в README компонента
  • Сделать отдельный компонент на каждое сочетание флагов
  • Бросать ошибку в рантайме при конфликтующих флагах

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела