Перво-наперво, да, в этом обновлении нет новых функций! Есть несколько улучшений и несколько исключений, которые, по нашему мнению, заслуживают обсуждения.

Итак, вот наш взгляд на совершенно новый React 17.

Эта новая версия появилась после долгого почти двухлетнего ожидания. Мы считаем, что по сравнению с предыдущей версией есть много улучшений. Основное внимание уделяется постепенному обновлению этой и будущих версий.

Итак, давайте посмотрим, что они собой представляют!

Изменения в делегировании мероприятия

Обновление React 17 упрощает вложение приложений, созданных с использованием разных версий React. При совместном использовании множества версий React наблюдалось множество конфликтов. В этом обновлении обработчики событий не будут прикрепляться к уровням документов. Вместо этого он перейдет в корневой контейнер DOM, где отображается ваше дерево React.

Кроме того, с постепенными изменениями в React 17 разработчики получат больше свободы, когда дело доходит до миграции приложений за один раз или небольшими порциями.

Собственные стеки компонентов

Поиск ошибок с помощью функции javascript; его имя и трассировка стека местоположения могут привести к игле в охоте за стогом сена, просеивая сотни строк кода (если не тысячу).

Команда React применяет неортодоксальный подход к выявлению ошибок в React 17. Вот что они думают своими словами:

В настоящее время браузеры не позволяют получить фрейм стека функции (исходный файл и местоположение). Поэтому, когда React обнаруживает ошибку, он теперь реконструирует свой стек компонентов, выбрасывая (и улавливая) временную ошибку внутри каждого из компонентов выше, когда это возможно.

Это улучшение пригодится в производственной среде.

Нет частного экспорта

Это более конкретно для React Native for Web. Более старые версии больше не будут совместимы с React 17. Это также должно было произойти, поскольку React Native for Web требуется для согласования с внутренними изменениями, внесенными после этого обновления.

Нет пула событий

Оптимизация пула событий больше не является частью React 17. Предполагалось, что это повысит производительность в старых браузерах, но этого не произошло. Кроме того, для разработчиков это означает меньшую путаницу, и теперь отпадает необходимость в использовании e.persist ().

Свойства компонентов React

React 17 теперь совместим с ES6. Есть разговоры об использовании клавиши или кодов, и в случае, если вы работаете с ними, вам необходимо закодировать свойство для объектов событий клавиатуры. Аналогичным образом, события фазы захвата используют реальный захват браузера, в событиях onScroll нет пузырей и т. Д.

В дополнение к вышеупомянутым обновлениям в этом обновлении представлены две новые функции, а именно «getDerivedStateFromProps» и «getSnapshotBeforeUpdate».

Все это говорит о том, что React 17, несомненно, работает над тем, чтобы сделать React более заметным в сообществе разработчиков и упростить всем понимание, развертывание и переход на React в будущем. Не стесняйтесь обращаться к нам здесь, если вам нужна помощь в разработке React.

О нас

Мы в Galaxy Weblinks всегда рады новым идеям и экспериментам. Мы считаем, что своевременность в этом быстро меняющемся мире дает нам достаточно времени для изучения и внедрения новых изменений. Наши разработчики постоянно стремятся к совершенствованию и улучшению пользовательского опыта. "Свяжитесь с нами для бесплатной консультации!

Первоначально опубликовано на https://blog.galaxyweblinks.com 3 ноября 2020 г.