React Native interview question · Most asked
A screen in your React Native app is slow. How do you investigate and fix it?
Summary
Reproduce in a release build, profile to find what re-renders or blocks the JS thread, then fix the cause: memoise rows and stabilise props, move expensive computations out of render, tune lists, right-size images, and move animations to the UI thread.
Longer Answer
Tools: the React DevTools profiler (which components rendered and why), the performance monitor (JS vs UI frame rates), and platform profilers for native issues. Typical culprits: inline functions defeating React.memo, filtering large arrays on every keystroke, full-resolution images in lists, and JSON parsing during interactions.
Key Points
- Measure in release builds first.
- Fix re-renders: memo + useCallback/useMemo.
- Defer heavy work; tune lists and images.
Deep dive: Mobile Apps with React Native and Expo: Performance
Explanation
What interviewers look for
A measurement-first approach and concrete causes, not a list of random optimisations.
More most-asked React Native questions
- What is React Native, and how does it differ from a hybrid (WebView) app?
- Explain the React Native threading model.
- What is the React Native New Architecture?
- When would you use FlatList instead of ScrollView, and how do you make long lists fast?
- Where should you store data on the device, and what should never go in AsyncStorage?
- How would you make a React Native app work offline?
- How do you handle authentication tokens in a mobile app?
- What can be shipped with an over-the-air (OTA) update, and what can't?