React Native Interview Notes
1. Introduction to React Native
React Native is an open-source framework by Meta (Facebook). It allows building mobile apps for iOS and Android
using JavaScript and React. It uses native components and provides near-native performance.
2. Core Concepts
JSX: Syntax extension for JavaScript.
Components: Functional and Class-based. Common ones include View, Text, Image, ScrollView.
Props & State: Props are read-only and passed from parent. State is internal to a component.
3. Styling
Use StyleSheet API for styling.
Flexbox is the primary layout system.
Key properties: flexDirection, justifyContent, alignItems.
4. Navigation
Use React Navigation library.
Navigators: Stack, Tab, and Drawer.
Install using npm install @react-navigation/native.
5. State Management
Hooks: useState and useEffect for component state and side effects.
Context API: For global state management.
Redux: For complex centralized state logic.
6. API Integration
Use Fetch or Axios to integrate APIs.
AsyncStorage for local storage.
Example: fetch data and update state using useEffect.
React Native Interview Notes
7. Native Modules and Permissions
Linking API to open external URLs.
Use react-native-permissions or native APIs for permissions like camera, storage.
8. Debugging and Testing
Tools: React Native Debugger, Flipper, Chrome DevTools.
Testing: Use Jest and React Native Testing Library for unit tests.
9. Deployment
Android: Use Android Studio to generate APK/AAB.
iOS: Use Xcode and an Apple Developer account.
Expo: For rapid prototyping and testing.
10. Interview Questions
Theoretical: Differences between React and React Native, lifecycle methods, Flexbox layout.
Practical: Create login screen, fetch API data, use useState for a counter.
11. Expo vs CLI
Expo: Easy setup, limited native code, ideal for prototyping.
React Native CLI: Full control, supports native modules, better for production.