React 19 tutvustab kohandatud elementide toetamiseks olulisi täiendusi võrreldes eelnevate versioonidega, keskendudes peamiselt sellele, kuidas renderdamise ajal rekvisiite hallatakse. Siin on peamised erinevused:
Täiustatud tugiteenuste käitlemine
1. atribuutide ja omaduste eraldamine: React 19-s määratakse kliendi poole renderdamise ajal omadusteks vastavad rekvisiidid, mis vastavad kohandatud elemendi eksemplaris. Kui rekvisiit on primitiivne tüüp (nagu `string`,` numbr või `true`), on see muudetud atribuudina. Mitteprimitiivsed tüübid (nagu `objekt," sümbol "või" funktsioon ") on renderdamisest välja jäetud. See lähenemisviis võimaldab intuitiivsemat koostoimet kohandatud elementidega, vastavusse sellega, kuidas need on tavaliselt loodud toimimiseks [3] [4].
2. Serveripoolse renderdamise (SSR) parandused: SSR ajal kehtib sama loogika: primitiivsed rekvisiidid osutatakse atribuutidena, samas kui mitteprimitiivsed tüübid jäetakse välja. See tagab, et serveriga renderdatud väljund on kooskõlas sellega, mida klient ootab, vähendades võimalikke ebakõlasid hüdratsiooni ajal [4] [5].
3. ulatunud kohandatud elementide registrid: React 19 toetab ulatuslikke kohandatud elementide registreid, võimaldades arendajatel kohandatud elemente tõhusamalt hallata mikrokatte arhitektuurides. See funktsioon aitab vältida versioonide konflikte, kui mitu rakendust sõltuvad sama kohandatud elemendi erinevatest versioonidest, suurendades modulaarsust ja ühilduvust [2].
4. täiustatud jõudlusmõõdikud: React 19 on saavutanud kohandatud elementide 100% skoori kõikjal võrdlusalustel, mis on eelnevate versioonide märkimisväärne paranemine. See näitab paremat toimivust ja ühilduvust veebikomponentidega, käsitledes varasemaid kriitikaid Reacti kohandatud elementide käsitlemise osas [5].
Need parandused React 19 ei sujuvamaks mitte ainult kohandatud elementide integreerimist reageerimisrakendustesse, vaid parandavad ka üldist jõudlust ja arendaja kogemusi, muutes veebikomponentidega töötamise lihtsamaks reaktsiooni kontekstis.
Tsitaadid:[1] https://github.com/facebook/react/issues/11347
[2] https://github.com/facebook/react/issues/28938
[3] https://www.angularminds.com/blog/react-19-beta-features
[4] https://react.dev/blog/2024/04/25/react-19
]
[6] https://www.bacancancytechnology.com/blog/whats-new-in-react-19
[7] https://luminoustechnologies.com/blog/react-19/
]