Компонент Provider выполняет функцию глобальной обёртки для всех компонентов Radix UI, обеспечивая корректное применение контекста, темизации и управления поведением компонентов внутри приложения. Важнейшей особенностью является возможность централизованного управления состояниями и настройками библиотечных элементов.
Ключевые моменты:
Пример использования:
import { Provider } from '@radix-ui/react-context';
function App() {
return (
);
}
Это создаёт единый контекст для всех дочерних компонентов, включая настройки по умолчанию для поведения и анимаций.
Компонент Root является базовым контейнером для определённых элементов интерфейса, таких как Dialog, Popover, Tooltip, и обеспечивает корректное управление жизненным циклом компонентов, их видимостью и поведением на странице.
Основные функции Root:
Пример использования для Dialog:
import * as Dialog from '@radix-ui/react-dialog';
function Modal() {
return (
Открыть модальное окно
Заголовок модального окна
Описание содержимого
);
}
Root обеспечивает корректное взаимодействие триггера с контентом и управление закрытием при клике вне модального окна или на Escape.
Viewport — это компонент, используемый для управления отображением компонентов, таких как Select или DropdownMenu, внутри определённой области. Он отвечает за позиционирование, прокрутку и визуальные ограничения элементов.
Особенности Viewport:
Пример использования с Select:
import * as Sel ect fr om '@radix-ui/react-select';
function Dropdown() {
return (
Выбрать элемент
Элемент 1
Элемент 2
);
}
Viewport гарантирует, что список элементов не выйдет за пределы видимой области и корректно отобразится на любом экране, сохраняя управление скроллом и позиционированием.
Эта связка позволяет строить сложные интерактивные интерфейсы с модальными окнами, выпадающими списками и тултипами, сохраняя при этом консистентность поведения и управление состоянием на уровне всего приложения.