Hvad er React Portals
Forstå createPortal-API'en, og hvorfor det er nyttigt at rendere uden for root-div'en.
Hvad er React Portals er en gratis React Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i React Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. React Academy-kurset indeholder 4 lektioner i alt.
Velkommen
Det normale React-DOM-hierarki
Hvad er en portal?
import { createPortal } from 'react-dom';
function Modal({ children }) {
return createPortal(
children,
document.body // render into body, not parent
);
}Hvorfor findes der portaler?
Hændelses-bobling fungerer stadig
Oprettelse af et portalmål
// index.html
<body>
<div id="root"></div>
<div id="modal-root"></div>
</body>
// Modal.jsx
createPortal(children, document.getElementById('modal-root'));Portalens livscyklus er knyttet til dens React-overordnede komponent
Kontekst fungerer på tværs af portaler
Brug af createPortal med tilstand
function App() {
const [open, setOpen] = useState(false);
return (
<div>
<button onClick={() => setOpen(true)}>Open</button>
{open && createPortal(
<div className="overlay">
<button onClick={() => setOpen(false)}>Close</button>
</div>,
document.body
)}
</div>
);
}Rendring på serversiden og portaler
Hurtigt tjek
Opsummering
Det næste
Lær React med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 88
- Lektioner
- 324
Ofte stillede spørgsmål
Er lektionen “Hvad er React Portals” gratis?
Ja — hele teksten til “Hvad er React Portals” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af React Academy-kurset, skal du opgradere til CoddyKit PRO. React Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Hvad er React Portals”?
Forstå createPortal-API'en, og hvorfor det er nyttigt at rendere uden for root-div'en. Du øver dig i React Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på React Academy?
Der kræves ingen tidligere erfaring. React Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Hvad er React Portals”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne React Academy-lektion?
Ja. Alle React Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Hvad er React Portals
- Opbygning af en modal-komponent med Portals
- Håndtering af fokus og tastaturfælder i modaler
- Tooltips og dropdown-menuer med Portals