React 19 вводит значительные улучшения для поддержки пользовательских элементов по сравнению с предыдущими версиями, в первую очередь сосредотачиваясь на том, как реквизиты управляются во время рендеринга. Вот ключевые различия:
Enhanced Radling опоры
1. Разделение атрибутов и свойств: в реагировании 19 реквизиты, которые соответствуют свойствам в экземпляре пользовательского элемента, назначаются в качестве свойств во время рендеринга на стороне клиента. Если опора является примитивным типом (например, `string`,` number` или `true`), он отображается как атрибут. Неприемные типы (например, `object`,` symbol 'или `function') исключены из рендеринга. Этот подход позволяет более интуитивно понятно взаимодействовать с пользовательскими элементами, согласуясь с тем, как они обычно предназначены для функционирования [3] [4].
2. Улучшения рендеринга на стороне сервера (SSR): во время SSR применяется та же самая логика: примитивные реквизиты отображаются в виде атрибутов, в то время как неплозные типы опущены. Это гарантирует, что выходной выход для сервера соответствует тому, что ожидает клиент, снижая потенциальные несоответствия во время гидратации [4] [5].
3. Обзор пользовательских реестров элементов: React 19 поддерживает общеизводимые пользовательские реестры, что позволяет разработчикам более эффективно управлять пользовательскими элементами в архитектурах микрофиндентов. Эта функция помогает предотвратить конфликты версий, когда несколько приложений зависят от разных версий одного и того же пользовательского элемента, улучшая модульность и совместимость [2].
4. Улучшенные показатели производительности: React 19 достиг 100% баллов по баллам пользовательских элементов повсюду, что значительное улучшение по сравнению с предыдущими версиями. Это указывает на лучшую производительность и совместимость с веб -компонентами, обращаясь к прошлой критике относительно обращения React по пользовательским элементам [5].
Эти улучшения в React 19 не только оптимизируют интеграцию пользовательских элементов в приложения React, но и улучшают общую производительность и опыт разработчиков, что облегчает работу с веб -компонентами в контексте реагирования.
Цитаты:[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://eluminounttechnologies.com/blog/react-19/
[8] https://www.geeksforgeeks.org/react-19-new-features-and-updates/