La version 2.0 nécessite React 19, React Native 0.84+ et Reanimated 4, et supprime les API dépréciées en 1.x. Les renommages ci-dessous couvrent la plupart des apps. Le guide liste chaque changement avec le code avant et après.
Basculez entre clair, sombre ou système instantanément, ou changez tout l'aspect avec une variante de thème. Native-UI en livre deux : Aurora (l'originale) et Bloom (douce, arrondie, violette). Chaque variante porte ses propres presets d'accent, customAccent remplace une seule couleur et theme.components remplace les tokens de n'importe quel composant. Vous ne passez que ce qui change.
Chaque surface (couleur, espacement, rayon, typographie, ombre) est un token nommé. Les composants ne lisent que des tokens, donc changer un token se propage dans tout le système.
Chaque composant interactif est livré avec des valeurs d'accessibilité par défaut : rôles, libellés, hit slop, annonces pour lecteur d'écran et prise en charge du mouvement réduit. Les couleurs de texte sont vérifiées selon le contraste WCAG sur chaque surface (minTextContrast, 4.5 par défaut, 7 pour AAA). Vous pouvez remplacer toute valeur par défaut par instance.
<NativeUIProviderconfig={{ minTextContrast: 7 }}>
<Buttontitle="Save"accessibilityHint="Saves your changes and moves to the next step"onPress={save}
/>
</NativeUIProvider>
Comportement de plateforme
Les composants s'adaptent à la plateforme hôte : retours haptiques, zones sûres, gestion du clavier et boîtes de dialogue suivent les conventions iOS et Android, InputPrompt utilise le prompt système sur iOS, et les lecteurs d'écran peuvent fermer les sheets avec leur geste d'échappement. Vous obtenez la justesse de plateforme sans écrire de code de plateforme.
// The same sheet on iOS and Android: drag it down to dismiss it.<BottomSheetvisible={open} onClose={() => setOpen(false)}>
<BottomSheet.Header>
<Headinglevel={3}>Chooseaplan</Heading>
</BottomSheet.Header>
<BottomSheet.Body>
<PlanList />
</BottomSheet.Body>
</BottomSheet>
Localisation Nouveau
Chaque chaîne affichée par la bibliothèque, des indications de boutons aux unités du compte à rebours, provient de l'option labels. Passez une locale et uniquement les libellés que vous traduisez. Les autres restent en anglais. Les icônes et le chevron de retour s'inversent dans les mises en page de droite à gauche.
Peer ranges now start at verified versions: React 19, React Native 0.84, Reanimated 4 (required), Safe Area Context 5, DateTimePicker 9.
usePressableScale always uses Reanimated; its result no longer has isReanimated and animatedStyle is a Reanimated animated style.
Color: new onPrimary, onSuccess, onWarning, onError, onInfo tokens computed with WCAG contrast (minTextContrast, default 4.5). Light-mode primary buttons now use dark text where white was unreadable (1.7:1 on the default green). textInverse is an alias of onPrimary. The default light error is now #DC2626 (white on the old #EF4444 was 3.8:1). getContrastText uses WCAG luminance. New helpers: contrastRatio, resolveOnColor, withAlpha.
+18 more…
v1.7.2
Stable
Corrigé
Fix type checking against React Native 0.87 and newer. Box and Stack no longer assign to readonly style properties, and the ref of Input, TextArea and SearchBar is typed as the TextInput instance via ComponentRef<typeof TextInput>, which matches older React Native versions as well. Input, TextArea and PressableScale now declare their exported types explicitly, so the published declarations no longer depend on React Native internal type names.