React V16 дал нам удивительные функции, такие как новые типы возвращаемых данных (фрагменты и строки), улучшенная обработка ошибок, порталы и т. Д. В этой статье я собираюсь объяснить, что такое React Portal, чем он отличается от обычного компонента React и где реагируют порталы. используются в реальных приложениях.
Что такое React Portal?
Как правило, React отображает компонент как дочерний по отношению к родителю, в котором он используется. Принимая во внимание, что порталы в React дают разработчику преимущество в добавлении компонента вне текущей иерархии DOM, поддерживая восходящую цепочку событий и управление состоянием.
Традиционный компонент
Вышеупомянутый компонент реакции при отображении в браузере иерархия DOM будет такой:
Компонент портала
Вышеупомянутый компонент реакции, который использует портал для рендеринга дочерних элементов, выглядит в иерархии DOM следующим образом:
Как создаются порталы
Реактивные порталы создаются с помощью метода createPortal ReactDOM.
ReactDOM.createPortal(children, rootNode);
Порталы React используются в определенных сценариях реального мира, таких как создание компонентов для модальных всплывающих окон или всплывающих сообщений.
Скоро: создание универсального модального компонента с помощью React Portals.
Примеры кода, использованные в этой статье, можно скачать здесь.