React · Middle · Pytanie 17 z 75
Jak zachowują się zdarzenia wewnątrz portalu createPortal(child, document.body)?
- ✓Poprawna odpowiedź: Propagują się przez drzewo React do rodzica w React, a nie przez DOM
- 2W ogóle się nie propagują - portal je blokuje
- 3Propagują się tylko przez drzewo DOM aż do
document.body
Wyjaśnienie
Portal renderuje DOM w innym miejscu (modale, tooltipy, by uciec od overflow: hidden i kontekstów nakładania), ale logicznie pozostaje częścią drzewa React: kontekst jest dostępny, a zdarzenia propagują się do przodków w React. Czasem bywa to zaskakujące, np. onClick rodzica uruchamia się od kliknięcia w modalu.