Метод
createPortal в React позволяет рендерить компоненты вне текущей DOM-структуры. Это полезно для создания модальных окон, всплывающих меню или уведомлений, которые должны отображаться поверх остальных элементов без влияния родительских стилей и позиционирования.Создание уведомления, рендерящегося в отдельном узле DOM:
import React from 'react';
import ReactDOM from 'react-dom';
function Notification({ message }) {
return ReactDOM.createPortal(
<div className="notification">
{message}
</div>,
document.getElementById('notification-root')
);
}
В этом примере компонент
Notification рендерится в элемент с ID notification-root, который находится вне основного DOM-дерева приложения. Это позволяет отображать уведомление поверх других компонентов без конфликтов стилей и вложенности.👉 @sWebDev
