REACT-NATIVES
WIRED FOR SPEED
react-natives v2.1.2
Theme
Light
Dark
Get Started
Menu
Components
Core Primitives
Button
A compound interactive button component with text, icon, and spinner sub-components, supporting multiple actions, variants, and sizes.
Example
Preview
Code
Props
Button Props
Prop
Type
Default
Description
className
string
—
NativeWind utility classes to apply to the button.
action
'primary' | 'secondary' | 'positive' | 'negative' | 'default'
'primary'
The semantic action color of the button.
variant
'link' | 'outline' | 'solid'
'solid'
The visual variant of the button.
size
'xs' | 'sm' | 'md' | 'lg' | 'xl'
'md'
Controls the height and padding of the button.
isDisabled
boolean
false
When true, disables the button and applies disabled styling.
ButtonText Props
Prop
Type
Default
Description
className
string
—
NativeWind utility classes for the button label text.
action
'primary' | 'secondary' | 'positive' | 'negative' | 'default'
—
Overrides the action color inherited from the Button parent.
variant
'link' | 'outline' | 'solid'
—
Overrides the variant inherited from the Button parent.
size
'xs' | 'sm' | 'md' | 'lg' | 'xl'
—
Overrides the size inherited from the Button parent.
ButtonIcon Props
Prop
Type
Default
Description
as
React.ElementType
—
The icon component to render inside the button.
className
string
—
NativeWind utility classes for the button icon.
size
'xs' | 'sm' | 'md' | 'lg' | 'xl' | number
—
Overrides the icon size. Accepts a preset or numeric pixel value.
height
number
—
Explicit height for the icon in pixels.
width
number
—
Explicit width for the icon in pixels.
ButtonGroup Props
Prop
Type
Default
Description
className
string
—
NativeWind utility classes for the button group container.
space
'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl'
'md'
The spacing between buttons in the group.
isAttached
boolean
false
When true, removes spacing and merges button borders.
flexDirection
'row' | 'column' | 'row-reverse' | 'column-reverse'
'row'
The flex direction of the button group.
Usage Guidelines
When to use
Use Button for primary user actions like form submission, navigation triggers, or confirmations.
Best practices
•
Use action="primary" for the main call-to-action on a screen.
•
Limit to one primary action button per view to maintain clear hierarchy.
•
Use ButtonSpinner during async operations to indicate loading.
Accessibility
Button is automatically focusable and pressable. Use accessibilityLabel when ButtonText alone does not describe the action.
Related Components
Link
A pressable link component for in-app and external navigation with accessible text styling.
Fab
A floating action button component that stays fixed at a screen corner with icon and optional label sub-components.
Icon
A wrapper component for rendering icon elements from any icon library via the `as` prop.
React-Natives
A comprehensive React Native component library.
Documentation
Getting Started
Components
Theming
Community
GitHub
Discord
Twitter
Blog
Support
FAQ
Contact
Contributing
License
© 2026 React-Natives. Wired by WireServers-UI.