Développé par Facebook, React Native est un framework de développement d’applications mobiles basé sur la librairie web React et utilise le langage de programmation JavaScript. Sa particularité est qu’il permet de développer et déployer simultanément votre application pour les plateformes iOS et Android avec une base de code unique. Dans sa version React Native 0.63, le framework s'accompagne d'une mise à jour de LogBox. LogBox répond aux plaintes selon lesquelles les erreurs et les avertissements étaient trop verbeux, mal formatés ou inutilisables en se concentrant sur trois objectifs principaux :
- Concis : les journaux doivent fournir le minimum d'informations nécessaires pour déboguer un problème.
- Formaté : les journaux doivent être formatés afin que vous puissiez trouver rapidement les informations dont vous avez besoin.
- Actionnable : les journaux doivent être actionnables, afin que vous puissiez résoudre le problème et continuer.
Pour atteindre ces objectifs, LogBox comprend:
- Des notifications de journal : l'équipe a repensé les notifications d'avertissement et ajouté la prise en charge des erreurs afin que tous les messages console.warn et console.log apparaissent sous forme de notifications au lieu de couvrir votre application.
- Des cadres (frames) de code : chaque erreur et avertissement comprend désormais un cadre de code qui affiche le code source du journal directement dans l'application, vous permettant d'identifier rapidement la source de votre problème.
- Des piles de composants : toutes les piles de composants sont désormais supprimées des messages d'erreur et placées dans leur propre section avec les trois cadres supérieurs visibles. Cela vous donne un espace unique et cohérent pour vous attendre à des informations de trame de pile qui n'encombrent pas le message du journal.
- Une réduction du cadre (frame) de la pile: par défaut, l'outil réduit désormais les cadres de la pile des appels non liés au code de votre application afin que vous puissiez voir rapidement le problème dans votre application et ne pas passer au crible les éléments internes React Native.
- Formatage des erreurs de syntaxe : l'équipe a amélioré le formatage des erreurs de syntaxe et ajouté des cadres de code avec mise en évidence de la syntaxe afin que vous puissiez voir la source de l'erreur, la corriger et continuer à coder sans que React Native ne vous gêne.
Avec ce changement, l'équipe déconseille également YellowBox au profit des API LogBox:
- LogBox.ignoreLogs(): cette fonction remplace YellowBox.ignoreLogs([]) comme un moyen de désactiver tous les journaux qui correspondent aux chaînes ou expressions régulières données.
- LogBox.ignoreAllLogs(): cette fonction remplace console.disableYellowBox comme moyen de désactiver les notifications d'erreur ou d'avertissement. Remarque: cela désactive uniquement les notifications, les erreurs non détectées ouvriront toujours une LogBox en plein écran.
Pressable
React Native est conçu pour permettre aux applications de répondre aux attentes des utilisateurs de la plateforme. Cela implique d'éviter les « récits » - de petits éléments qui révèlent que l'expérience a été créée avec React Native. Une des principales sources de ces récits a été les composants Touchable : Button, TouchableWithoutFeedback, TouchableHighlight, TouchableOpacity, TouchableNativeFeedback et TouchableBounce. Ces composants rendent votre application interactive en vous permettant de fournir un retour visuel aux interactions des utilisateurs. Cependant, comme ils incluent des styles et des effets intégrés qui ne correspondent pas à l'interaction de la plateforme, les utilisateurs peuvent savoir quand les expériences sont écrites avec React Native.
De plus, comme React Native a grandi et que la barre pour les applications de haute qualité a augmenté, ces composants n'ont malheureusement pas suivi cette évolution. React Native prend désormais en charge des plateformes telles que le Web, le desktop et la télévision, mais la prise en charge de modalités d'entrée supplémentaires faisait défaut. React Native doit prendre en charge des...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.