React Native · Mobile UI at native speed
What is React Native and how does it actually render UI?
Short answer
React Native runs React components in a JavaScript runtime and renders them to real platform views through a native renderer, so one codebase targets iOS and Android without a WebView.
React Native is a framework for building native mobile apps with React. Your components describe the UI, but the host components are platform views such as UIView on iOS and android.view.View on Android. There is no browser DOM and no WebView in the default renderer.
import { View, Text, StyleSheet } from "react-native";
export function Badge({ label }: { label: string }) {
return (
<View style={styles.badge}>
<Text style={styles.text}>{label}</Text>
</View>
);
}
const styles = StyleSheet.create({
badge: { paddingHorizontal: 10, paddingVertical: 4, borderRadius: 12 },
text: { fontSize: 12, fontWeight: "600" },
});What runs where
- JavaScript runs in a JS engine such as Hermes and executes your React code
- The renderer translates React elements into native view operations
- Layout is computed by Yoga, a C++ implementation of Flexbox
- Native modules expose platform APIs that JavaScript cannot reach directly
The result is a native app with React's programming model. You still ship through the App Store and Play Store, you can write platform-specific code, and you can drop down to Swift, Kotlin or C++ when a capability is missing.
Follow-ups you should expect
Interviewers use these to check whether the first answer was understanding or memorisation.
- 1Does React Native use a WebView?
- 2What is the role of Yoga in layout?
- 3How does the JS thread interact with the UI thread?
- 4When would you write native code alongside React Native?
Say it in the interview
React Native lets me write React components that render to real native views on iOS and Android. JavaScript runs in a runtime like Hermes, and the renderer maps my components to platform views while Yoga computes Flexbox layout. That gives a shared codebase without giving up native performance or the ability to add Swift or Kotlin when I need it. It is not a WebView, so I still think in terms of native views and platform behaviour.
Use this as a model, not a script. Saying it in your own words is what makes it survive follow-up pressure.
Related questions
Reading is step one
Now say it out loud.
Understanding an answer and delivering it under pressure are different skills. Rehearse this topic in a live React Native mock interview and get scored feedback on depth, clarity and confidence.