React Native 0.88: новая модель событий и проверки интерфейса
React Native 0.88 меняет внутренний путь событий, сохраняя, по заявлению команды, поведение публичных event props. Поэтому обновление не означает обязательную переделку всех обработчиков. Приоритет проверки — библиотеки и собственный код, которые обращаются к внутренностям событий, плюс реальные действия пользователя во вложенном интерфейсе.
Default-механизм и Canary API — разные части новости
React Native 0.88 выпущен 19 октября 2026 года. Web-based event dispatching через EventTarget стал путём по умолчанию. Однако imperative addEventListener, removeEventListener и dispatchEvent на native refs в анонсе доступны в Canary. Нельзя брать такой пример как подтверждённый стабильный API обычной поставки.
Справка MDN по EventTarget объясняет интерфейс объектов, получающих события и поддерживающих слушатели. Это справка понятия, а не обещание, что любой браузерный пример без изменений работает в React Native. Применимые native API и статус проверяют по документации выбранного выпуска.
Проследить одно нажатие полезнее, чем проверять весь интерфейс наугад
В учебной карточке заявки есть вложенная кнопка и окружающая область перехода к подробностям. Пользователь нажимает кнопку, а ожидаемое действие команды заранее описано. Такая проверка показывает, какие обработчики действительно сработали, куда перешёл интерфейс и не появилось ли лишнее действие.
| Учебный сценарий | Ожидаемый публичный результат | Где искать особую зависимость | Что записать после проверки |
|---|---|---|---|
| Кнопка внутри активной карточки | Выполнено согласованное действие кнопки | Библиотека вложенных взаимодействий | Последовательность видимых действий |
| Нажатие на саму карточку | Открыты нужные подробности | Обработчик контейнера и навигация | Целевой экран и выбранный объект |
| Обновление размеров элемента | Отработало ожидаемое уведомление компонента | Код, рассчитывающий на распространение direct event | Наблюдение на нужном элементе |
| Обработчик сообщает об ошибке | Работает предусмотренное состояние ошибки | Переопределение внутреннего пути событий | Видимый результат и доступный путь восстановления |
| Жест в используемом компоненте | Сохраняется согласованное управление | Зависимости библиотеки от внутренностей RN | Версия библиотеки и условия воспроизведения |
Это наша матрица пользовательских проверок, не найденные дефекты React Native. Она не требует одинакового поведения всех вложенных элементов: нужный результат задаёт конкретный интерфейс. Иначе команда примет расхождение за ошибку, не договорившись, что должно было происходить.
Публичный контракт не равен внутреннему устройству библиотеки
Анонс говорит о сохранении имён props, объектов событий и порядка вызовов; direct events вроде onLayout остаются на цели, touch responder system не заменена. Отдельно команда просит проверять код, выходящий за публичный API во внутренний реестр событий. Эти сведения помогают выбрать приоритет, но не отменяют проверки своего приложения.
Если проблема проявляется только в стороннем компоненте, сохраните его версию, используемую конфигурацию и минимальную последовательность действий. Не начинайте с массовой замены всех обработчиков. Сначала установите границу: публичный контракт приложения или предположение библиотеки о прежних внутренностях.
Не добавлять Canary-зависимость ради прохождения теста
Один из рисков при обновлении — взять демонстрационный код из анонса, не заметив его статус. До исправления проверьте, доступен ли нужный API в той поставке, которую получает пользователь. Успех отдельной экспериментальной сборки не подтверждает готовность стабильного приложения.
Другие возможности релиза, включая variable fonts и жизненный цикл окна, рассматривайте по их назначению. Они не доказывают исправность пути событий и не являются причиной одновременно переписать оформление и навигацию. Ограниченный объём помогает понять найденное расхождение.
Как принять обновление интерфейса
- Опишите критические действия пользователя и ожидаемые переходы.
- Выделите библиотеки с обращением к внутренним механизмам событий.
- Проверьте вложенные элементы, direct events и нужные жесты на согласованной поставке.
- Разберите расхождения по минимальным воспроизводимым сценариям.
- Сверьте статус API, используемых в исправлении.
- Сохраните версии, результат и непроверенные устройства отдельно.
Для мобильной разработки такая матрица задаёт предмет приёмки. В доработке приложения сохраняйте последовательность действий, а для веб-приложений отдельно описывайте их собственные интерфейсные контракты. Общая модель событий помогает обсуждать поведение, но не делает проверки разных платформ взаимозаменяемыми.
Вопросы и ответы
Когда вышел React Native 0.88?
Официальный анонс опубликован 19 октября 2026 года. Более ранний план выпуска не нужно подменять этой фактической датой.
Что меняется у React Native EventTarget?
В 0.88 новый путь dispatch стал обычным механизмом по умолчанию. При этом imperative API на native refs в анонсе отмечены как Canary, поэтому их статус рассматривают отдельно.
Нужно ли переписывать React Native touch events после обновления?
Анонс не требует переделать все публичные обработчики и сообщает о сохранении touch responder system. В первую очередь проверьте реальные действия и зависимости от внутренних механизмов событий.
Читайте также
Сертификат обновился, а сайт отдаёт старый: как проверить TLS
SEOGooglebot получает 304 после правки: как проверить обновление
ПоддержкаSSE приходит пачкой: где задерживается поток событий
РазработкаСобытие на весь день в iCalendar: конечная дата
РазработкаЮзабилити-тест на пяти пользователях: как проверить интерфейс до разработки