В React 19 обработка неожиданных метков во время гидратации была значительно улучшена, особенно в том, как она взаимодействует со сторонними сценариями и расширениями браузера. Вот конкретные примеры того, как React 19 пропускает неожиданные теги:
Пропуск неожиданных тегов
1. Элементы головы и тела: когда React встречается неожиданные теги в разделе документа `
` и ``, он разумно пропускает эти теги вместо того, чтобы запускать ошибку несоответствия гидратации. Это означает, что если сторонний сценарий имеет вставленные элементы, которые не соответствуют HTML-трансляции сервера, React не будет пытаться согласовать эти различия, что позволяет избежать потенциальных ошибок и сбоев в процессе рендеринга приложения [1] [2] [4].2. Сохранение таблиц стилей: если React необходимо повторно повторно рендеринг всего документа из-за несоответствия гидратации, которое не связано с сторонними модификациями, он оставит на месте любые таблицы стилей, которые были вставлены этими сценариями. Это гарантирует, что визуальная целостность приложения остается нетронутой, даже когда обнаруживаются расхождения [2] [4].
3. Обработка сторонних модификаций: ранее любые модификации, внесенные сторонними сценариями, могут привести к ошибкам гидратации, поскольку React пытается согласовать HTML-трансляции сервера с модифицированным HTML на стороне клиента. В React 19 эти модификации игнорируются во время гидратации, что позволяет применению продолжать плавно функционировать, не подвергаясь влиянию внешних изменений [1] [4].
Пример сценарий
Рассмотрим сценарий, в котором сторонний сценарий добавляет `