React 19 introduserer betydelige forbedringer for å støtte tilpassede elementer sammenlignet med tidligere versjoner, først og fremst med fokus på hvordan rekvisitter styres under gjengivelse. Her er de viktigste forskjellene:
Forbedret rekvisitthåndtering
1. Separasjon av attributter og egenskaper: I React 19 tildeles rekvisitter som tilsvarer egenskaper på en tilpasset elementforekomst som egenskaper under gjengivelse av klientsiden. Hvis rekvisitten er en primitiv type (som `String`,` tall` eller` true`), blir den gjengitt som et attributt. Ikke-primitive typer (som `objekt`,` symbol` eller `funksjon`) er ekskludert fra gjengivelse. Denne tilnærmingen gir mulighet for en mer intuitiv interaksjon med tilpassede elementer, og samsvarer med hvordan de vanligvis er designet for å fungere [3] [4].
2. Forbedring av serversiden (SSR-gjengivelse (SSR): Under SSR gjelder den samme logikken: Primitive rekvisitter blir gjengitt som attributter, mens ikke-primitive typer er utelatt. Dette sikrer at den server-gjengitte utgangen er i samsvar med hva klienten forventer, og reduserer potensielle misforhold under hydrering [4] [5].
3. Scoped Custom Element-registre: React 19 støtter scoped tilpassede elementregistre, slik at utviklere kan administrere tilpassede elementer mer effektivt i mikrofrontendarkitekturer. Denne funksjonen hjelper til med å forhindre versjonskonflikter når flere applikasjoner avhenger av forskjellige versjoner av det samme tilpassede elementet, og forbedrer modularitet og kompatibilitet [2].
4. Forbedrede ytelsesmålinger: React 19 har oppnådd en 100% poengsum på de tilpassede elementene overalt benchmark, en betydelig forbedring i forhold til tidligere versjoner. Dette indikerer bedre ytelse og kompatibilitet med nettkomponenter, og tar opp tidligere kritikk angående Reacts håndtering av tilpassede elementer [5].
Disse forbedringene i React 19 strømlinjer ikke bare integrering av tilpassede elementer i React -applikasjoner, men forbedrer også den generelle ytelsen og utvikleropplevelsen, noe som gjør det lettere å jobbe med nettkomponenter i en reagert sammenheng.
Sitasjoner:[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
[5] https://piccalil.li/blog/upcoming-custom-element-support-in-react/
[6] https://www.bacancytechnology.com/blog/whats-new-in-react-19
[7] https://eluminoustechnologies.com/blog/react-19/
[8] https://www.geeksforgeeks.org/react-19-new-features-and-andtates/