← Назад к вопросам

Как работает портал?

2.0 Middle🔥 111 комментариев
#React

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

React Portal

Portal рендерит компонент в другую часть DOM. Решает проблему overflow.

import { createPortal } from 'react-dom';

function Modal({children}) {
  return createPortal(
    <div className='modal'>{children}</div>,
    document.body
  );
}

Проблема

Модаль в div с overflow:hidden будет обрезана.

Решение

Рендерим в body вместо родителя.

События

События пробивают портал - поднимаются по React дереву.

Контекст

Контекст НЕ пробивает - используй явно.

Применение

Модали, тултипы, меню, уведомления.