Version 2.0 benötigt React 19, React Native 0.84+ und Reanimated 4 und entfernt die in 1.x als veraltet markierten APIs. Die Umbenennungen unten decken die meisten Apps ab. Der Leitfaden listet jede Änderung mit Code vorher und nachher auf.
Wechsle sofort zwischen hell, dunkel oder System, oder tausche den gesamten Look mit einer Theme-Variante. Native-UI liefert zwei: Aurora (das Original) und Bloom (weich, abgerundet, violett). Jede Variante bringt eigene Akzent-Presets mit, customAccent überschreibt eine einzelne Farbe, und theme.components überschreibt die Tokens jeder beliebigen Komponente. Du übergibst nur das, was sich ändert.
Jede Oberfläche (Farbe, Abstand, Radius, Typografie, Schatten) ist ein benannter Token. Komponenten lesen nur Tokens, daher wirkt sich die Änderung eines Tokens systemweit aus.
Jede interaktive Komponente kommt mit Barrierefreiheits-Defaults: Rollen, Labels, Hit-Slop, Screenreader-Ansagen und Unterstützung für reduzierte Bewegung. Textfarben werden auf jeder Oberfläche gegen den WCAG-Kontrast geprüft (minTextContrast, standardmäßig 4.5, 7 für AAA). Du kannst jeden Default pro Instanz überschreiben.
<NativeUIProviderconfig={{ minTextContrast: 7 }}>
<Buttontitle="Save"accessibilityHint="Saves your changes and moves to the next step"onPress={save}
/>
</NativeUIProvider>
Plattformverhalten
Komponenten passen sich an die Host-Plattform an: Haptik, sichere Bereiche, Tastaturverhalten und Dialoge folgen den Konventionen von iOS und Android, InputPrompt nutzt auf iOS den System-Prompt, und Screenreader können Sheets mit ihrer Escape-Geste schließen. Du erhältst Plattform-Korrektheit, ohne Plattform-Code zu schreiben.
// 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>
Lokalisierung Neu
Jeder Text, den die Bibliothek rendert, von Button-Hinweisen bis zu Countdown-Einheiten, stammt aus labels. Übergib eine Locale und nur die Labels, die du übersetzt. Der Rest bleibt auf Englisch. Icons und der Zurück-Chevron werden in Rechts-nach-links-Layouts gespiegelt.
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
Stabil
Behoben
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.