Junior React Native Developer Interview Questions and Answers

Milad Bonakdar
Author
Practice junior React Native interview questions on components, hooks, navigation, API calls, lists, AsyncStorage, and mobile app basics.
Introduction
For a junior React Native interview, expect questions that test whether you can build simple mobile screens with React, explain native rendering, manage state with hooks, move between screens, fetch API data, and store non-sensitive local data. A strong answer is practical: say what you would use, when you would avoid it, and what trade-off it creates on iOS and Android.
Use this guide to practice the questions most likely to appear in a first React Native role. Focus on React fundamentals, core components, navigation, forms, lists, API calls, storage, and mobile-specific debugging instead of memorizing library trivia.
React Fundamentals (6 Questions)
1. What is React Native and how does it differ from React?
Answer:
- React: JavaScript library for building web user interfaces
- React Native: Framework for building native mobile apps using React
- Key Differences:
- React Native renders to native components (not DOM)
- Uses native APIs instead of web APIs
- Different styling approach (no CSS, uses StyleSheet)
- Platform-specific code for iOS and Android
Rarity: Very Common Difficulty: Easy
2. What are the core components in React Native?
Answer: React Native provides built-in components that map to native UI elements:
- View: Container component (like
divin web) - Text: Display text (all text must be in
Textcomponent) - Image: Display images
- ScrollView: Scrollable container
- TextInput: Text input field
- TouchableOpacity/Pressable: Touchable elements
- FlatList: Efficient list rendering
- Button: Basic button component
Rarity: Very Common Difficulty: Easy
3. Explain the difference between View and ScrollView.
Answer:
- View: Static container. Content beyond screen bounds is not scrollable.
- ScrollView: Scrollable container. Renders all children at once (can be memory-intensive for large lists).
- When to use:
- View: For layouts that fit on screen
- ScrollView: For small amounts of scrollable content
- FlatList: For large lists (renders only visible items)
Rarity: Very Common Difficulty: Easy
4. What are React Hooks and which ones are most commonly used?
Answer: Hooks are functions that let you use state and lifecycle features in functional components.
- Common Hooks:
- useState: Manage component state
- useEffect: Handle side effects (data fetching, subscriptions)
- useContext: Access context values
- useCallback: Memoize functions
- useMemo: Memoize expensive calculations
- useRef: Reference DOM elements or persist values
Rarity: Very Common Difficulty: Easy
5. Explain the useEffect hook and its dependency array.
Answer:
useEffect runs side effects after render. The dependency array controls when it runs:
- No array: Runs after every render
- Empty array
[]: Runs once after initial render - With dependencies
[dep1, dep2]: Runs when dependencies change
Rarity: Very Common Difficulty: Medium
6. What is the Virtual DOM and how does React use it?
Answer: The Virtual DOM is a React concept from web development: React keeps a lightweight UI tree, compares it after state changes, and updates only what changed. In React Native, the same reconciliation idea applies, but the final output is native views, not browser DOM nodes.
- What to say in an interview:
- State changes trigger React to re-render affected components
- React compares the new component tree with the previous one
- React Native applies the needed updates to native UI components
- You still optimize with stable keys, careful state placement, and memoization only when it solves a real re-render problem
- Important correction: React Native does not update HTML or a browser DOM.
Rarity: Common Difficulty: Easy
Components & Props (4 Questions)
7. What is the difference between Props and State?
Answer:
- Props:
- Passed from parent to child
- Read-only (immutable)
- Used for component configuration
- State:
- Managed within the component
- Mutable (can be changed)
- Used for dynamic data
Rarity: Very Common Difficulty: Easy
8. What are Functional Components vs Class Components?
Answer:
- Functional Components:
- Simpler syntax
- Use hooks for state and lifecycle
- Preferred in modern React
- Class Components:
- Older approach
- Use
this.stateand lifecycle methods - Still supported but less common
Rarity: Common Difficulty: Easy
9. How do you pass data from child to parent component?
Answer: Use callback functions passed as props.
Rarity: Very Common Difficulty: Easy
10. What is the key prop and why is it important?
Answer:
The key prop helps React identify which items have changed, been added, or removed in lists.
- Purpose: Optimize rendering performance
- Requirements: Must be unique among siblings, stable (don't use index if list can change)
Rarity: Very Common Difficulty: Easy
Styling & Layout (3 Questions)
11. How do you style components in React Native?
Answer: React Native uses JavaScript objects for styling, not CSS.
- StyleSheet API: Create optimized styles
- Inline Styles: Direct style objects (less performant)
- Flexbox: Default layout system
Rarity: Very Common Difficulty: Easy
12. Explain Flexbox in React Native.
Answer: Flexbox is the primary layout system in React Native.
- Main Properties:
- flexDirection:
roworcolumn(default:column) - justifyContent: Align along main axis
- alignItems: Align along cross axis
- flex: Proportional sizing
- flexDirection:
Rarity: Very Common Difficulty: Medium
13. What is the difference between margin and padding?
Answer:
- Padding: Space inside the component (between content and border)
- Margin: Space outside the component (between component and neighbors)
Rarity: Common Difficulty: Easy
Navigation (3 Questions)
14. What is React Navigation and how do you use it?
Answer: React Navigation is the most popular navigation library for React Native.
- Types:
- Stack Navigator: Screen stack (push/pop)
- Tab Navigator: Bottom tabs
- Drawer Navigator: Side drawer menu
Rarity: Very Common Difficulty: Medium
15. How do you pass parameters between screens?
Answer:
Use the navigate function with a second parameter for data.
Rarity: Very Common Difficulty: Easy
16. What are navigation options and how do you customize headers?
Answer: Navigation options control screen appearance and behavior.
Rarity: Common Difficulty: Easy
Data & Storage (4 Questions)
17. How do you fetch data from an API in React Native?
Answer:
Use fetch API or libraries like Axios.
Rarity: Very Common Difficulty: Medium
18. What is AsyncStorage and how do you use it?
Answer: AsyncStorage is an asynchronous key-value store for small, non-sensitive data.
- Good use cases: Theme choice, onboarding flags, cached JSON, simple preferences
- Avoid: Auth tokens, API keys, passwords, large datasets, and data that needs complex queries
- For sensitive data: Use platform-backed secure storage such as iOS Keychain or Android encrypted storage through a maintained library
Rarity: Very Common Difficulty: Easy
19. What is the difference between FlatList and ScrollView?
Answer:
- ScrollView:
- Renders all children at once
- Good for small lists
- Memory intensive for large lists
- FlatList:
- Renders only visible items (lazy loading)
- Efficient for large lists
- Built-in optimizations
Rarity: Very Common Difficulty: Easy
20. How do you handle forms and user input?
Answer: Use controlled components with state.
Rarity: Very Common Difficulty: Medium


