Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ¿Cómo React 19 admite elementos personalizados de manera diferente a las versiones anteriores?


¿Cómo React 19 admite elementos personalizados de manera diferente a las versiones anteriores?


React 19 introduce mejoras significativas para apoyar elementos personalizados en comparación con versiones anteriores, centrándose principalmente en cómo se gestionan los accesorios durante la representación. Aquí están las diferencias clave:

Manejo de accesorios mejorado

1. Separación de atributos y propiedades: en React 19, los accesorios que corresponden a las propiedades en una instancia de elemento personalizado se asignan como propiedades durante la representación del lado del cliente. Si el Prop es un tipo primitivo (como `String`,` Number` o `True`), se representa como un atributo. Los tipos no primitivos (como `objeto`,` símbolo` o `function`) están excluidos de la representación. Este enfoque permite una interacción más intuitiva con elementos personalizados, alineándose con la forma en que generalmente están diseñados para funcionar [3] [4].

2. Mejoras de representación del lado del servidor (SSR): durante la SSR, se aplica la misma lógica: los accesorios primitivos se representan como atributos, mientras que se omiten los tipos no probitivos. Esto asegura que la salida renderizada del servidor sea consistente con lo que el cliente espera, reduciendo posibles desajustes durante la hidratación [4] [5].

3. Registros de elementos personalizados alcanzados: React 19 admite registros de elementos personalizados alcanzados, lo que permite a los desarrolladores administrar elementos personalizados de manera más efectiva en las arquitecturas de micro-frontend. Esta característica ayuda a prevenir conflictos de versión cuando múltiples aplicaciones dependen de diferentes versiones del mismo elemento personalizado, mejorando la modularidad y la compatibilidad [2].

4. Métricas de rendimiento mejoradas: React 19 ha logrado un puntaje del 100% en los elementos personalizados en todas partes de referencia, una mejora significativa sobre las versiones anteriores. Esto indica un mejor rendimiento y compatibilidad con los componentes web, abordando las críticas pasadas con respecto al manejo de elementos personalizados de React [5].

Estas mejoras en React 19 no solo optimizan la integración de elementos personalizados en aplicaciones React, sino que también mejoran el rendimiento general y la experiencia del desarrollador, lo que facilita trabajar con los componentes web en un contexto React.

Citas:
[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-freatures
[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-fature-and-updates/