React Native Components
Priority: P0 (CRITICAL)
Standards for building scalable, maintainable components.
Implementation Guidelines
- Function Components Only: Use hooks. No class components.
- Container/Presentational: Separate logic (hooks, data fetching) from UI (JSX, styling).
- Composition: Use
childrenprop. Prefer composition over prop drilling. - Props: TypeScript interfaces. Destructure in params.
- File Size: Keep components < 250 lines. Split if larger.
- One Component Per File: Named exports for components.
- Naming:
PascalCasefor components.use*for hooks. - Imports: Group - React → External → Internal → Styles.
- Platform Components: Use built-in (
View,Text,TouchableOpacity). Avoid DOM (div,span).
Anti-Patterns
- No Classes: Use hooks instead.
- No Nested Components: Define at top level.
- No Inline Styles: Use
StyleSheet.create. - No Index Keys: Use stable IDs.
- No Deep Nesting: Max 3 levels.
References
See references/patterns.md for Container/Presentational split, HOCs, Render Props, Compound Components, and Slot patterns.