«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Освойте модальные окна, всплывающие подсказки и многое другое с помощью React createPortal

Освойте модальные окна, всплывающие подсказки и многое другое с помощью React createPortal

Опубликовано 1 ноября 2024 г.
Просматривать:628

Master Modal, Tooltips and more with React createPortal

создание модальных окон и всплывающих подсказок в React часто было сложным в стилизации и приводило к множеству ошибок стилизации.
API createPortal упрощает этот процесс, позволяя отображать компоненты вне основного DOM, что обеспечивает простоту стилизации и удобства обслуживания. В этом посте мы узнаем, как использовать этот инструмент для правильного создания модальных окон и всплывающих подсказок в React.

Понимание API createPortal

createPortal — это встроенная функция React, которая позволяет отображать компоненты в разных частях DOM. И это особенно полезно для создания модальных окон и наложений, сторонних компонентов и пользовательских элементов пользовательского интерфейса.

Как это работает

Портал используется внутри оператора возврата компонента и меняет только физическое размещение узла DOM. это похоже на телепортацию узла DOM за пределы основного дерева DOM. API createPortal имеет доступ к двум параметрам и третьему необязательному:

  • Дети: все, что можно отобразить с помощью React, элемент div, компонент или фрагмент React.
  • domNode: местоположение дочерних элементов, которые нужно разместить.
  • ключ (необязательно): уникальный номер или строка, которая будет использоваться в качестве ключа портала.

Если мы предположим, что мы создаем портал в компоненте A и визуализируем его в компоненте B, дочерние элементы портала будут получать доступ ко всему состоянию и переменным компонента A и функционировать так же, как в компоненте A, пока он визуализируется в компоненте. Б.

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

В примере ниже портал используется для телепортации компонента Child, который принимает состояние, и перемещения этого компонента в тело.

import { createPortal } from 'react-dom'

const App = () => {
  const [state, setState] = useState()

  return(
    

...

createPoratl( , document.body )
) } export default App

Теперь дочерний компонент будет отображаться в тегах тела HTML.

Заключение

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

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/kada/master-modal-tooltips-and-more-with-react-createportal-2h9o?1 Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3