Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React: портал, dom

Что такое портал в React?

Этот вопрос проверяет понимание концепции порталов в React и их применения для создания компонентов, которые нужно рендерить вне иерархии родительского компонента.

Короткий ответ

Портал в React — это механизм, который позволяет рендерить дочерние компоненты в контейнере, находящемся вне иерархии родительского компонента. Это полезно для создания таких элементов, как модальные окна или всплывающие подсказки, которые должны быть независимы от остальных компонентов и не подвержены влиянию их стилей или позиции.

Длинный ответ

Порталы в React позволяют вам рендерить дочерние компоненты в другом месте в дереве DOM, отличном от их родительского компонента. Это может быть особенно полезно для компонентов, которые требуют особого размещения в интерфейсе, таких как модальные окна, всплывающие меню или уведомления.

Создание портала

Чтобы создать портал, вы можете использовать метод ReactDOM.createPortal. Этот метод принимает два аргумента: элемент, который нужно рендерить, и контейнер, в который вы хотите его поместить. Вот пример:

import ReactDOM from 'react-dom'; 

const MyModal = ({ children, onClose }) => {
  	return ReactDOM.createPortal(
      		<div className="modal">    
        		<button onClick={onClose}>Close</button>      
        		{children}    
      		</div>,    
      		document.getElementById('modal-root') // контейнер в index.html  
   	); 
};

Где использовать порталы

Порталы часто используются для создания модальных окон, которые должны перекрывать весь экран, но не должны влиять на стили или поведение других компонентов. Поскольку портал рендерится в указанном контейнере, вы можете легко контролировать его стили, положение и поведение независимо от родительских компонентов.

Преимущества

Использование порталов упрощает управление такими элементами, как модальные окна и уведомления, обеспечивая большую гибкость в их размещении и стилизации. Это также позволяет избежать проблем, связанных с наложением стилей, которые могут возникнуть при попытке встроить модальные окна непосредственно в иерархию компонентов.

Понимание порталов в React помогает разработчикам эффективно управлять отображением элементов, не нарушая структуру приложения.

Уровень

  • Рейтинг:

    3

  • Сложность:

    5

Навыки

  • React

    React

Ключевые слова

#портал

#dom

Подпишись на React Developer в телеграм