
Composants spécifiques à la plateforme
Explorez les composants de base fournis par React Native (View, Text, Image, Button, TextInput...) qui remplacent les balises HTML et se mappent sur les widgets natifs d'iOS et Android.
Oublier le HTML : Les briques de base de React Native
Comme nous l'avons vu, la différence la plus marquante entre React pour le web (React DOM) et React Native réside dans les éléments utilisés pour construire l'interface utilisateur. Oubliez les balises HTML comme Ces composants sont conçus pour être multiplateformes dans la mesure du possible, mais leur rendu final est assuré par les widgets UI natifs correspondants sur iOS et Android. Apprendre à connaître et à utiliser ces composants de base est la première étape essentielle pour développer avec React Native. Voici quelques-uns des composants React Native les plus couramment utilisés : Il est important de réitérer que l'utilisation de ces composants React Native ne signifie pas que vous créez une imitation de l'interface native en JavaScript. Au contraire, le framework React Native fait le pont (via le "Bridge" ou la JSI) pour que ces composants React se traduisent par l'instanciation et la manipulation des véritables widgets UI natifs de la plateforme sous-jacente. Un Si la plupart des composants de base fonctionnent de manière similaire sur iOS et Android, il existe des cas où : React Native fournit plusieurs mécanismes pour gérer ces différences : Un composant souvent utilisé pour gérer les différences de layout liées aux encoches ou aux barres système est Construire des interfaces avec React Native implique d'apprendre et d'utiliser ce nouvel ensemble de composants fondamentaux. Chacun a son rôle spécifique et se traduit en éléments natifs performants. En maîtrisant ces composants de base comme , ou . React Native fournit son propre ensemble de composants fondamentaux (Core Components) qui servent de primitives pour construire vos interfaces mobiles.Présentation des composants fondamentaux (Core Components)
: Le bloc de construction le plus fondamental pour l'interface utilisateur. Il peut être considéré comme l'équivalent d'un : Indispensable pour afficher n'importe quelle chaîne de caractères. Tout texte dans une application React Native doit être enveloppé dans un composant . Il supporte également l'imbrication pour hériter des styles de texte. : Utilisé pour afficher des images, qu'elles proviennent de ressources locales (dans le projet) ou d'une URL réseau. Il possède des props pour contrôler la source (`source`), le redimensionnement (`resizeMode`), et le style. : Permet à l'utilisateur de saisir du texte. C'est l'équivalent d'un ou . Il fournit des props pour gérer la valeur (`value`), réagir aux changements (`onChangeText`), configurer le type de clavier (`keyboardType`), etc. : Un conteneur générique qui permet de faire défiler son contenu si celui-ci dépasse la taille de l'écran. Utile pour des listes de contenu de longueur variable mais pas excessivement longues. / : Des composants optimisés pour afficher de longues listes de données déroulantes de manière performante. Ils ne rendent que les éléments visibles à l'écran (et quelques autres en prévision), évitant ainsi les problèmes de mémoire et de performance rencontrés avec le rendu de milliers d'éléments dans un . FlatList est pour les listes simples, SectionList pour les listes groupées par sections. : Un composant bouton basique qui rend un bouton natif standard sur iOS et Android avec un look and feel spécifique à la plateforme. Il est simple à utiliser mais offre peu d'options de personnalisation., , ) : Pour des interactions tactiles plus personnalisables que . Ils permettent d'envelopper n'importe quelle (ou autre composant) pour la rendre cliquable/pressable, en fournissant un retour visuel configurable (opacité, surbrillance, ou aucun). est le plus récent et le plus flexible, souvent recommandé pour les nouveaux développements. : Bien que ce ne soit pas un composant UI visible, c'est une API essentielle utilisée pour créer des objets de style de manière optimisée, comme vu dans la section sur le styling.Le lien avec les widgets natifs
devient un UITextField sur iOS et un EditText sur Android. Un devient un UISwitch ou un SwitchCompat. Cela garantit que votre application non seulement ressemble à une application native, mais qu'elle se comporte aussi comme telle en termes de performance, d'accessibilité et d'interactions.Gérer les spécificités des plateformes
DatePickerIOS, PermissionsAndroid)., qui assure que le contenu est rendu dans la zone "sûre" de l'écran, principalement pertinent pour iOS.Conclusion : Les nouveaux outils de votre boîte à outils UI
, , , , et les composants de liste et tactiles, vous disposez des outils nécessaires pour commencer à assembler des écrans d'applications mobiles natives robustes et esthétiques, tout en exploitant la puissance et la familiarité de l'écosystème React.