beUI Pro für Mobile ist live: 50 React Native Blöcke und Screens
React-Native-Setup
Richte deine Expo-App einmal ein und installiere dann jeden mobilen Screen oder Block aus der privaten Registry. Das Setup entspricht dem kostenlosen beUI-Native-Guide, mit den Pfaden, in die Pro-Items installiert werden.
1. Bibliotheken installieren
Jedes Item animiert mit Reanimated und wird mit Uniwind gestylt. Installiere über Expo, damit die Versionen zu deinem SDK passen. Einige Items brauchen mehr, etwa Skia oder Bottom Sheet; jede Item-Seite listet ihre eigenen.
npx expo install react-native-reanimated react-native-worklets react-native-gesture-handler react-native-svg
npm install uniwind tailwindcss2. Uniwind und das Theme einrichten
Umschließe deine Metro-Konfiguration mit Uniwind. Das Babel-Preset von Expo fügt das Worklets-Plugin hinzu, daher brauchen Expo-Apps keine Babel-Änderung.
const { getDefaultConfig } = require("expo/metro-config");
const { withUniwindConfig } = require("uniwind/metro");
const config = getDefaultConfig(__dirname);
// Uniwind must be the outermost wrapper.
module.exports = withUniwindConfig(config, {
cssEntryFile: "./global.css",
dtsFile: "./uniwind-types.d.ts",
});Lege global.css im Projektstamm an. Der Theme-Import zeigt auf die Tokens, die die erste Installation hinzufügt. Liegt dein CSS in einem Unterordner, füge auch eine @source für components hinzu.
@import "tailwindcss";
@import "uniwind";
@import "./components/beui-pro/beui/styles/theme.css";3. App umschließen
Importiere global.css einmal und umschließe die App mit GestureHandlerRootView, das Swipes, Drags und Sheets brauchen.
import "../global.css";
import { Stack } from "expo-router";
import { GestureHandlerRootView } from "react-native-gesture-handler";
export default function RootLayout() {
return (
<GestureHandlerRootView style={{ flex: 1 }}>
<Stack />
</GestureHandlerRootView>
);
}4. Registry verbinden und installieren
Expo-Apps brauchen für die shadcn CLI eine vollständige components.json. Lege diese im Projektstamm an und installiere dann mit deinem BEUI_PRO_TOKEN aus deinem Konto.
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "new-york",
"rsc": false,
"tsx": true,
"tailwind": {
"config": "",
"css": "global.css",
"baseColor": "neutral",
"cssVariables": true
},
"aliases": {
"components": "@/components",
"utils": "@/lib/utils",
"lib": "@/lib",
"hooks": "@/hooks"
},
"registries": {
"@beui-pro": {
"url": "https://pro.beui.dev/r/{name}.json",
"headers": {
"Authorization": "Bearer ${BEUI_PRO_TOKEN}"
}
}
}
}export BEUI_PRO_TOKEN="beui_live_xxxxxxxxxxxx"
npx shadcn@latest add @beui-pro/native-tab-barItems landen in components/beui-pro, neben den gemeinsamen beUI-Dateien, die sie importieren. Lieber Dateien? Lade einzelne oder alle Items im Dashboard herunter.
global.css
metro.config.js
components.json
components/
beui-pro/
premium/
blocks/tab-bar/
beui/
hooks/
styles/
motion.ts
theme.css5. Inter laden (optional)
Pro-Items setzen Text mit font-sans-medium und ähnlichen Klassen. Damit es wie in den Clips aussieht, füge diese Familien nach dem Theme in global.css hinzu und lade die vier Schnitte vor dem Rendern. Lass es weg, um die Systemschrift zu nutzen.
npx expo install @expo-google-fonts/inter expo-font@theme {
--font-sans: "Inter_400Regular";
--font-sans-medium: "Inter_500Medium";
--font-sans-semibold: "Inter_600SemiBold";
--font-sans-bold: "Inter_700Bold";
}import {
Inter_400Regular,
Inter_500Medium,
Inter_600SemiBold,
Inter_700Bold,
useFonts,
} from "@expo-google-fonts/inter";
const [loaded] = useFonts({
Inter_400Regular,
Inter_500Medium,
Inter_600SemiBold,
Inter_700Bold,
});