React Native · Mobile UI at native speed

What are the core components in React Native?

EasycomponentsviewtextUpdated Oct 2026
Quiz this track

Short answer

The core primitives are View for layout, Text for text, Image for media, Pressable or Touchable for interaction, TextInput for input, ScrollView and FlatList for scrolling, and StyleSheet for styling.

React Native ships a small set of host components that map to native views. Everything else is built from them or from community libraries, so knowing their constraints is essential.

  • View: a container for layout, borders, backgrounds and touch handling
  • Text: the only component that can render a string; it supports nesting and text-specific styles
  • Image: local or remote images, with resizeMode and optional caching libraries
  • Pressable: a modern press handler with pressed and hover state callbacks
  • TextInput: native text entry with keyboard and selection configuration
  • ScrollView and FlatList: scrolling and virtualised lists
tsx
import { View, Text, Image, Pressable, TextInput } from "react-native";

export function ProfileCard() {
  return (
    <View>
      <Image source={{ uri: "https://example.com/avatar.png" }} style={{ width: 48, height: 48 }} />
      <Text>Asha Rao</Text>
      <TextInput placeholder="Search" />
      <Pressable onPress={() => console.log("pressed")}>
        <Text>Follow</Text>
      </Pressable>
    </View>
  );
}

Text cannot live directly inside a View without a Text wrapper, and a View does not render strings. That trips up developers coming from the web. Layout is Flexbox by default, so most containers need explicit flex or size rules.

Prefer Pressable over the older Touchable components for new code. It exposes a style callback for pressed state and composes cleanly with accessibility props.

Follow-ups you should expect

Interviewers use these to check whether the first answer was understanding or memorisation.

  1. 1Why can't a View contain a raw string?
  2. 2What is the difference between Pressable and TouchableOpacity?
  3. 3How do you render a list efficiently?
  4. 4How do you make a component accessible?

Say it in the interview

The core primitives are View for layout, Text for anything textual, Image for media, Pressable for interaction, and TextInput for input. Lists use FlatList or ScrollView, and styling uses StyleSheet. I reach for community libraries only when a primitive is missing, because these components map directly to native views and define how layout, accessibility and touch behave.

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.