Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases
Get Started
Design and Develop
Publish
Reference
Support
Skip to main content
A basic button component that should render nicely on any platform. Supports a minimal level of customization. If this button doesn’t look right for your app, you can build your own button using TouchableOpacity or TouchableWithoutFeedback.

Example


Reference

Props

onPress Required

Handler to be called when the user taps the button.

title Required

Text to display inside the button. On Android the given title will be converted to the uppercased form.

accessibilityLabel

Text to display for blindness accessibility features.

accessibilityActions

Accessibility actions allow an assistive technology to programmatically invoke the actions of a component. The accessibilityActions property should contain a list of action objects. Each action object should contain the field name and label. See the Accessibility guide for more information.

onAccessibilityAction

Invoked when the user performs the accessibility actions. The only argument to this function is an event containing the name of the action to perform. See the Accessibility guide for more information.

color

Color of the text or background color of the button.

disabled

If true, disable all interactions for this component.

hasTVPreferredFocus

TV preferred focus.

nextFocusDown

Designates the next view to receive focus when the user navigates down.

nextFocusForward

TV next focus forward (see documentation for the View component).

nextFocusLeft

Designates the next view to receive focus when the user navigates forward.

nextFocusRight

Designates the next view to receive focus when the user navigates right.

nextFocusUp

Designates the next view to receive focus when the user navigates up.

enableSynchronousFocusEventsKepler

When set to true, onFocus and onBlur events are dispatched synchronously. UI Thread will be blocked until the execution of onFocus or onBlur from JavaScript has completed.

enableSynchronousFocusEventsKepler

When set to true, onFocus and onBlur events are dispatched synchronously. UI Thread will be blocked until the execution of onFocus or onBlur from JavaScript has completed.

testID

Used to locate this view in end-to-end tests.

alexaEntityType - Vega Only

alexaEntityType represents the value for the type of object that needs to be considered by Alexa UIController Interface. This is an optional prop and specific to Alexa UIController Interface support, it maps to the entity.type field from the Alexa UIController Interface (Alexa UIController API doc)

alexaExternalIds - Vega Only

This is an optional prop and specific to Alexa UIController Interface support, it maps to the entity.ExternalIds field from the Alexa UIController Interface (Alexa UIController API doc) entity.ExternalIds are the identifiers for this entity unique within the scope of this endpoint. The entity.externalIds field are opaque to Alexa and are only used to include in directives from Alexa. The identifiers reported in entity.externalIds are required to be understood by the endpoint on all directive commands that accept an entity structure.

ariaPosInSet

The value for ariaPosInSet refers to the number of the element when the user can refer to the element by number, such as “Alexa, select number one.” This prop is required if the app wants to allow user to perform voice selection based on the number. Note that providing the prop with a value does not result in the value being rendered automatically from the component, for a consistent user behavior, app needs to render the same ordinal value for the item.

aria-label

aria-label is an accessibility prop. See Accessibility on the React Native documenation site. You can use it to specify the name of the item in voice selection, such as “Alexa, select Prime Video”. This prop is required if the app needs to allow the user to perform voice selection based on the name. Note: Providing the prop with a value does not result in the value being rendered as the title of the component, the app must explictly render the same text value for the item.

ariaLabel

Deprecated. Use aria-label instead. The value for ariaLabel refers to the name of the item, such as “Alexa, select Prime Video”. This prop is required if the app wants to allow the user to perform voice selection based on the name. Note: Providing the prop with a value does not result in the value being rendered as the title of the component, the app must explictly render the same text value for the item.

keplerAltLabels - Vega Only

The value for keplerAltLabels refers to the list of alternate names for the item. Note: This property replaces keplerAtlLabels. keplerAtlLabels is deprecated and will be removed in a future release. This prop is required if the app wants to allow user to perform voice selection on the same item with different names.
Last modified on December 10, 2025