javascript / intermediate
Snippet
Elemente teleportieren mit React Portals
Portals ermöglichen es, Komponenten in einen anderen Teil des DOM-Baums zu rendern, außerhalb der Hierarchie der Elternkomponente. Dies ist essenziell für UI-Elemente wie Modale oder Tooltips, die aus 'overflow: hidden' oder 'z-index' Beschränkungen ausbrechen müssen, während das Event-Bubbling und das State-Verhalten von React erhalten bleiben.
snippet.js
1
2
3
4
5
6
7
8
9
10
import { createPortal } from 'react-dom';function Modal({ children }) {return createPortal(<div className="modal-overlay">{children}</div>,document.getElementById('modal-root'));}
react
Erklärung
1
import { createPortal } from 'react-dom';
Importiert die spezialisierte Methode aus dem react-dom Paket zur Erstellung von Portalen.
2
createPortal(..., document.getElementById('modal-root'))
Nimmt die React-Kinder und einen Ziel-DOM-Knoten entgegen, in den die Kinder eingehängt werden sollen.