react-native-design – skill Thiết kế & UI cho agent AI
Làm chủ styling, navigation và animation Reanimated trong React Native cho phát triển ứng dụng di động đa nền tảng. Dùng khi xây dựng ứng dụng React Native, triển khai mẫu navigation hoặc tạo animation hiệu năng cao.
Cài skill react-native-design bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/react-native-design-67aa2.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /react-native-design – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/react-native-design-67aa2.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $react-native-design – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/react-native-design-67aa2.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /react-native-design – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/react-native-design-67aa2.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /react-native-design – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
React Native Design
Master React Native styling patterns, React Navigation, and Reanimated 3 to build performant, cross-platform mobile applications with native-quality user experiences.
When to Use This Skill
- Building cross-platform mobile apps with React Native
- Implementing navigation with React Navigation 6+
- Creating performant animations with Reanimated 3
- Styling components with StyleSheet and styled-components
- Building responsive layouts for different screen sizes
- Implementing platform-specific designs (iOS/Android)
- Creating gesture-driven interactions with Gesture Handler
- Optimizing React Native performance
Detailed section: Core Concepts
Originally a 6471-byte section in this SKILL.md. Moved to references/details.md to fit Codex's 8 KB skill body cap.
Quick Start Component
import React from 'react';
import {
View,
Text,
StyleSheet,
Pressable,
Image,
} from 'react-native';
import Animated, {
useSharedValue,
useAnimatedStyle,
withSpring,
} from 'react-native-reanimated';
interface ItemCardProps {
title: string;
subtitle: string;
imageUrl: string;
onPress: () => void;
}
const AnimatedPressable = Animated.createAnimatedComponent(Pressable);
export function ItemCard({ title, subtitle, imageUrl, onPress }: ItemCardProps) {
const scale = useSharedValue(1);
const animatedStyle = useAnimatedStyle(() => ({
transform: [{ scale: scale.value }],
}));
return (
<AnimatedPressable
style={[styles.card, animatedStyle]}
onPress={onPress}
onPressIn={() => { scale.value = withSpring(0.97); }}
onPressOut={() => { scale.value = withSpring(1); }}
>
<Image source={{ uri: imageUrl }} style={styles.image} />
<View style={styles.content}>
<Text style={styles.title} numberOfLines={1}>
{title}
</Text>
<Text style={styles.subtitle} numberOfLines={2}>
{subtitle}
</Text>
</View>
</AnimatedPressable>
);
}
const styles = StyleSheet.create({
card: {
backgroundColor: '#ffffff',
borderRadius: 16,
overflow: 'hidden',
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.1,
shadowRadius: 8,
elevation: 4,
},
image: {
width: '100%',
height: 160,
backgroundColor: '#f3f4f6',
},
content: {
padding: 16,
gap: 4,
},
title: {
fontSize: 18,
fontWeight: '600',
color: '#1f2937',
},
subtitle: {
fontSize: 14,
color: '#6b7280',
lineHeight: 20,
},
});Best Practices
1. Use TypeScript: Define navigation and prop types for type safety
2. Memoize Components: Use React.memo and useCallback to prevent unnecessary rerenders
3. Run Animations on UI Thread: Use Reanimated worklets for 60fps animations
4. Avoid Inline Styles: Use StyleSheet.create for performance
5. Handle Safe Areas: Use SafeAreaView or useSafeAreaInsets
6. Test on Real Devices: Simulator/emulator performance differs from real devices
7. Use FlatList for Lists: Never use ScrollView with map for long lists
8. Platform-Specific Code: Use Platform.select for iOS/Android differences
Common Issues
- Gesture Conflicts: Wrap gestures with
GestureDetectorand usesimultaneousHandlers - Navigation Type Errors: Define
ParamListtypes for all navigators - Animation Jank: Move animations to UI thread with
runOnUIworklets - Memory Leaks: Cancel animations and cleanup in useEffect
- Font Loading: Use
expo-fontorreact-native-assetfor custom fonts - Safe Area Issues: Test on notched devices (iPhone, Android with cutouts)
Skill liên quan
- color-blocking – Hướng dẫn triển khai Color Blocking cho Web và App. Kích hoạt khi người dùng muốn các…
- comfyui-gateway – Cổng REST API cho máy chủ ComfyUI. Quản lý workflow, xếp hàng job, webhook, bộ nhớ đệm…
- command-center-ui – Hướng dẫn triển khai Command Center UI cho Web và App. Kích hoạt khi người dùng muốn hệ…
- recsys-pipeline-architect – Thiết kế pipeline gợi ý, xếp hạng và feed có thể kết hợp, theo khung sáu giai đoạn…
- responsive-design – Triển khai bố cục responsive hiện đại bằng container queries, typography linh hoạt…
- computer-vision-expert – Thiết kế và đánh giá pipeline thị giác máy tính. Chuyên về YOLO26, Segment Anything 3…
- loop-library – Khám phá, tìm, so sánh, kiểm toán, sửa chữa, điều chỉnh và thiết kế các vòng lặp agent…
- core-components – Thư viện component cốt lõi và mẫu design system. Dùng khi xây dựng UI, sử dụng design…