React Native provides a number of built-in components. You will find a full list of components and APIs on the sidebar to the left. If you're not sure where to get started, take a look at the following categories:
You're not limited to the components and APIs bundled with React Native. React Native is a community of thousands of developers. If you're looking for a library that does something specific, search the npm registry for packages mentioning react-native, or check out Awesome React Native for a curated list.
Most apps will end up using one of these basic components. You'll want to get yourself familiarized with all of these if you're new to React Native.
The most fundamental component for building a UI.
A component for displaying text.
A component for displaying images.
A component for inputting text into the app via a keyboard.
Provides a scrolling container that can host multiple components and views.
Provides an abstraction layer similar to CSS stylesheets.
Render common user interface controls on any platform using the following components. For platform specific components, keep reading.
A basic button component for handling touches that should render nicely on any platform.
Renders the native picker component on iOS and Android.
A component used to select a single value from a range of values.
Renders a boolean input.
Unlike the more generic
ScrollView, the following list view components only render elements that are currently showing on the screen. This makes them a great choice for displaying long lists of data.
A component for rendering performant scrollable lists.
FlatList, but for sectioned lists.
Many of the following components provide wrappers for commonly used UIKit classes.
API to display an iOS action sheet or share sheet.
Create an iOS alert dialog with a message or create a prompt for user input.
Renders a date/time picker (selector) on iOS.
Renders a image picker on iOS.
A wrapper around
UINavigationController, enabling you to implement a navigation stack.
UIProgressView on iOS.
Handle push notifications for your app, including permission handling and icon badge number.
UISegmentedControl on iOS.
Many of the following components provide wrappers for commonly used Android classes.
Detect hardware button presses for back navigation.
Opens the standard Android date picker dialog.
DrawerLayout on Android.
Provides access to the permissions model introduced in Android M.
ProgressBar on Android.
Opens the standard Android time picker dialog.
Create an Android Toast alert.
Toolbar on Android.
Container that allows to flip left and right between child views.
These components may come in handy for certain applications. For an exhaustive list of components and APIs, check out the sidebar to the left.
Displays a circular loading indicator.
Launches an alert dialog with the specified title and message.
A library for creating fluid, powerful animations that are easy to build and maintain.
Provides access to the local camera roll / gallery.
Provides an interface for setting and getting content from the clipboard on both iOS and Android.
Provides an interface for getting device dimensions.
Provides a view that moves out of the way of the virtual keyboard automatically.
Provides a general interface to interact with both incoming and outgoing app links.
Provides a simple way to present content above an enclosing view.
Provides access to the device pixel density.
This component is used inside a
ScrollView to add pull to refresh functionality.
Component to control the app status bar.
A component that renders web content in a native view.
© 2015–2018 Facebook Inc.
Licensed under the Creative Commons Attribution 4.0 International Public License.