Basic components
The core, cross-platform building blocks every React Native screen is made of.
React Native ships a small set of built-in Core Components that each map to a real native view on iOS and Android. They're the React Native equivalent of HTML elements — you compose them together (and with your own components) to build a screen.
View
The most fundamental component. View is a container that supports layout with Flexbox, styling, and touch handling. Think of it as the React Native version of a <div>.
Text
Text displays, styles, and nests strings of text. All text in React Native must be wrapped in a Text component — unlike the web, you can't put a raw string directly inside a View.
Image
Image displays images from the local filesystem, a bundled asset, or a remote URL. Unlike the web, an Image needs an explicit width and height (or flex) in its style — it won't size itself to its content.
TextInput
TextInput is the basic component for text input. It fires an onChangeText event with the new text on every keystroke, so it's normally paired with a state variable to make it a controlled input.
ScrollView
ScrollView is a generic scrolling container that renders all of its children up front. It's fine for a small, fixed amount of content, but for long or dynamic lists prefer FlatList, which only renders what's currently on screen.
FlatList
FlatList renders a scrollable list of data and only mounts the items currently visible on screen, which makes it far more efficient than ScrollView for long lists.
Pressable
Pressable wraps any content and reports press interactions (onPress, onPressIn, onPressOut, onLongPress), letting you build custom buttons and touchable areas. It's the modern replacement for the older TouchableOpacity / TouchableHighlight components.