Prise en charge par défaut de React 18
React Native 0.69 est la première version à supporter React 18. React 18, publiée en mars, a apporté de nombreuses améliorations, comme de nouveaux hooks tels que useId. De plus, React 18 inclut de nouvelles fonctionnalités de concurrence comme useTransition ou le support complet de Suspense. Il peut ainsi effectuer le rendu d'une mise à jour de l'interface utilisateur en arrière-plan et, selon les exigences, arrêter, reprendre ou interrompre le processus à tout moment. Ce rendu simultané ainsi que d'autres fonctions parallèles peuvent être utilisés dans React Native 0.69.
Dans React Native 0.69, React 18 est activé par défaut. Mais si vous n'avez pas migré vers la Nouvelle Architecture, vous ne pouvez exploiter que les fonctionnalités qui n'utilisent pas le rendu concurrent et les fonctionnalités concurrentes. La nouvelle architecture a été construite en tenant compte du rendu simultané, mais l'équipe n'a pas pu ajouter ce support pour l'ancienne architecture. En outre, il existe des méthodes opt-out manuelles pour Android et iOS. En ce qui concerne la nouvelle architecture, l'équipe a déclaré : « nous poursuivons le déploiement de la nouvelle architecture pour Android et iOS ».
Prise en charge du moteur Hermes
Avant cette version, Hermes et React Native étaient publiés séparément. Cela a conduit à une confusion sur la version de Hermes qui est compatible avec la version de React Native. Pour remédier à ce problème, à partir de React Native 0.69, l'équipe entend livrer une version compatible de Hermes avec React Native. Ce changement devrait rendre l'utilisation de Hermes dans React Native beaucoup plus stable. L'utilisation de la bonne version de Hermes est gérée par React Native, cependant, vous devez vous assurer de suivre les étapes de l'aide à la mise à niveau pour garantir que l'intégration fonctionne comme prévu.
Si vous n'avez pas encore activé Hermes, vous pouvez suivre les étapes indiquées par l'équipe pour le faire. « Nous continuerons à prendre en charge d'autres moteurs JavaScript, mais nous recommandons à tous de migrer vers Hermes pour bénéficier de la meilleure expérience possible et pour que nous puissions mieux vous aider », a déclaré l'équipe. Notez que les utilisateurs de la nouvelle architecture sur Android devront construire Hermes à partir des sources. Pour construire Hermes à partir des sources, les utilisateurs de Windows devront suivre ces étapes supplémentaires.
Autres points forts de la version 0.69
Comme mentionné plus haut, les améliorations les plus importantes de cette version sont centrées sur la prise en charge de React 18 et sur le moteur Hermes. Mais d'autres changements notables ont été apportés, notamment :
- suppression de la prise en charge du SDK iOS/tvOS 11.0, la version 12.4 ou une version supérieure est désormais requise ;
- meilleur support pour les utilisateurs de la puce M1 d'Apple ;
- ajout du nouveau fichier de configuration .xcode.env pour un approvisionnement plus déterministe de l'exécutable du nœud ;
- React Native utilise désormais la dernière API de la barre d'état d'Android 11 ;
- prise en charge de C++17 ;
- nouvelle option hotkeysEnabled dans le menu de débogage d'iOS.
Quelques changements de rupture
Quelques modifications mineures ont également été apportées :
- React Native CLI est passé à une nouvelle version majeure de 8.0 ;
- les commandes link et unlink ont été supprimées en faveur de la commande autolinking ;
- la commande dépréciée initCompat a été supprimée, utilisez la commande init à la place ;
- suppression des propriétés run-android dépréciées ;
- suppression des commandes install et uninstall
- suppression des assets et des hooks de react-native.config.js - vous devrez supprimer ces propriétés de votre configuration ;
- podspecPath a été supprimé de la configuration de la dépendance iOS ;
- suppression de l'option [C]--project-path[/B] d'un run-ios ;
- modification de la détection du répertoire source d'iOS : la recherche d'un projet Xcode a été remplacée par la recherche d'un Podfile ;
- la prise en charge de console.disableYellowBox a été abandonnée ;
- les types de prop déjà dépréciés ont été supprimés ;
- removeListener, déprécié depuis React Native 0.65, a été supprimé de Appearance ;
- si vous utilisiez SegmentedComponentIOS, vous devrez désormais le remplacer par une bibliothèque tierce, par exemple segmented-control.
Mises à jour
Les dépendances suivantes ont été mises à jour :
- mise à jour de l'AGP en 7.1.1 - l'équipe recommande de conserver cette version dans vos applications ;
- boost pour Android a été mis à jour à 1.76 pour s'aligner avec iOS ;
- Ruby a été mis à jour en 2.7.5 ;
- les dépendances de Direct Metro ont été mises à jour en 0.70.1.
Source : React Native 0.69
Et vous ?
Que pensez-vous des nouveautés introduites par React Native 0.69 ?
Voir aussi
La version 0.62 de React Native, un framework d'applications mobiles open source, est disponible et inclut Flipper, un outil pour le débogage des applications mobiles
React 18 est disponible avec le traitement par lots activé par défaut, de nouvelles API comme startTransition et la prise en charge de Suspense
Microsoft explique pourquoi il s'est servi de React Native pour Windows sur l'application Paramètres de Windows 11 pour fournir la page "Votre compte Microsoft"