Порталы — это фича React'а, которая позволяет рендерить дочерние компоненты в DOM-узел, который существует вне DOM-иерархии родительского компонента. Это рекомендуемый подход, когда нужно рендерить контент за пределами обычного дерева компонентов.
Порталы используют API ReactDOM.createPortal() с двумя обязательными аргументами:
ReactDOM.createPortal(child, container)
Порталы особенно полезны для:
overflow: hiddenoverflow или z-indexХотя порталы рендерятся вне иерархии компонентов в DOM, они сохраняют свою позицию в React-дереве компонентов — это означает, что всплытие событий и контекст по-прежнему корректно распространяются через родительские компоненты.
Порталы позволяют дочерним компонентам оставаться логически связанными со своим родителем в дереве компонентов React, что означает, что контекст и распространение событий продолжают работать нормально, даже если рендеринг DOM происходит вне иерархии родителя.
Новый — ещё не проверен сообществом
Вы