--- id: components title: Components and APIs layout: docs category: Guides permalink: docs/components-and-apis.html next: platform-specific-code previous: more-resources --- 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: - [Basic Components](docs/components-and-apis.html#basic-components) - [User Interface](docs/components-and-apis.html#user-interface) - [Lists Views](docs/components-and-apis.html#lists-views) - [iOS-specific](docs/components-and-apis.html#ios-components-and-apis) - [Android-specific](docs/components-and-apis.html#android-components-and-apis) - [Others](docs/components-and-apis.html#others) 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](https://www.npmjs.com/search?q=react-native&page=1&ranking=optimal), or check out [Awesome React Native](http://www.awesome-react-native.com/) for a curated list. ## Basic Components 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.
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.
A component for rendering performant scrollable lists.
Like FlatList
, but for sectioned lists.
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.
Renders a UIProgressView
on iOS.
Handle push notifications for your app, including permission handling and icon badge number.
Renders a UISegmentedControl
on iOS.
Renders a UITabViewController
on iOS. Use with TabBarIOS.Item.
Detect hardware button presses for back navigation.
Opens the standard Android date picker dialog.
Renders a DrawerLayout
on Android.
Provides access to the permissions model introduced in Android M.
Renders a ProgressBar
on Android.
Opens the standard Android time picker dialog.
Create an Android Toast alert.
Renders a Toolbar
on Android.
Container that allows to flip left and right between child views.
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.