4. Универсальный Компонент

Для доступа к видео оформите подписку на курс

4. Универсальный Компонент

⌚Таймкоды
00:00 Универсальный компонент Button
11:39 ComponentPropsWithoutRef
17:13 variant Button
26:22 clsx
32:02 Универсальный компонент Modal
30:30 Полиморфные компоненты​

Оценить качество материала и подачу материала автором видео:

Front-end

Трудоустройтесь middle front-end разработчиком на React JS (TypeScript) за 12-16 месяцев обучения с ежедневной менторской поддержкой в формате видео 1 на 1 и коммерческими проектами в портфолио

Перейти на курс
Front-end

Back-end

Трудоустройтесь middle back-end разработчиком за 12-16 месяцев обучения с ежедневной менторской поддержкой в формате видео 1 на 1 и коммерческими проектами в портфолио

Перейти на курс
Back-end

Карьерный бустер

Получите коммерческий опыт на реальных стартапах, прокачайте tech & soft навыки, научитесь работать в команде, проходить собеседования и получите первую работу в IT!

Перейти на курс
Карьерный бустер

Основы Front-end

Сделайте первый шаг в IT, освоив базовые знания разработки и научившись создавать небольшие проекты на JavaScript

Перейти на курс
Основы Front-end

Основы Back-end

Сделайте первый шаг в IT, освоив базовые знания разработки. Без опыта. Без математики. Только практика: JavaScript, SQL, Node JS, база данных

Перейти на курс
Основы Back-end

Radix

Чтобы сделать универсальную модалку, необходимо реализовать:

  • Обработку клика за пределами модального окна
  • Закрытие по нажатию клавиши Escape
  • Поддержку порталов
  • Прием children для динамического содержимого
  • Стилизацию и кастомизацию: модалка должна поддерживать кастомизацию стилей
  • Доступность (a11y)
  • Управление фокусом: при открытии модального окна весь фокус должен быть внутри него.
  • Блокировку прокрутки

Чтобы реализовать модальное окно, согласно этим требования придется потрудиться не один день. Но в принципе все это реально сделать.

Но возьмем например dropdown. На первый взгляд кажется, что там делать. Для того чтобы глубже понять проблему реализации кастомных компонент посмотрите видео So You Think You Can Build A Dropdown?

И это касается многих элементов (селекты, чекбоксы, аккордироны, popover и много других). Мы можем их взять из MUI или других подобных библиотек, но есть определенные трудности:

  • Размер библиотеки: Использование Material-UI может увеличить размер вашего приложения из-за включения большого количества CSS и JavaScript кода для компонентов и их стилей.
  • Ограниченная кастомизация: В некоторых случаях может быть сложно добиться определенного внешнего вида или поведения компонентов Material-UI без изменения их внутреннего кода или использования обходных решений
  • Зависимость от дизайна Material Design: Если вы предпочитаете или ваш проект требует другого стиля дизайна, использование Material-UI может ограничить вашу свободу выбора.
  • Глубокое понинимание нюансов работы в Material Design

...

Для доступа к полной версии конспекта оформите подписку на курс

Современная UI-Разработка: компоненты, порталы и Storybook

Видеоурок - 4 видео из 5