Portal
Komponentti, jonka avulla on helppo käyttää Reactin ReactDOM.createPortal() -toimintoa.
Komponentti, jonka avulla on helppo käyttää Reactin ReactDOM.createPortal() -toimintoa.
Portal-komponentilla on mahdollista luoda komponentteja, jotka renderöidään komponentti- / DOM-hierarkiasta poikkeavalla tavalla. Komponentti itsessään voi olla hierarkiassa syvällä, mutta sen renderöimä HTML on tarve saada joskus eri paikkaan.
Portal-komponenttia käytetään esimerkiksi Kela Design Systemin Modal-komponentissa.
Itse Modal:in toteuttava komponentti voi olla missä tahansa sovelluksen
komponenttirakenteessa, mutta se renderöidään oletuksena body
-tagin viimeisenä lapsena.
Tällä saadaan helposti kierrettyä mm. CSS:n z-indekseihin ja overflow:n
piilottamiseen liittyviä ongelmatilanteita.
Portal-komponentti on hyödyllinen silloin, kun renderöitävä HTML on tarpeen sijoittaa rakenteessa jonnekin muualle, kuin missä se renderöidään - esimerkiksi modaali, joka sijoitetaan sivun loppuun.