Bottom Navigation
Bottom navigation bars make it easy to explore and switch between top-level views in a single tap. They are primarily used on mobile applications.Basic Bottom Navigation
TheBottomNavigation component displays a set of actions at the bottom of the screen. It uses the BottomNavigationAction component for each navigation item.
Without Labels
By default, only the selectedBottomNavigationAction shows its label. Set showLabels to false to hide all labels.
Always Show Labels
SetshowLabels to true to always display labels for all actions.
Controlled Component
The component is controlled when thevalue prop is provided. The onChange callback is triggered when the value changes.
BottomNavigation Props
value
- Type:
any - Description: The value of the currently selected
BottomNavigationAction
onChange
- Type:
(event: React.SyntheticEvent, value: any) => void - Description: Callback fired when the value changes. The second parameter is the new value
showLabels
- Type:
boolean - Default:
false - Description: If
true, allBottomNavigationActions will show their labels. By default, only the selected action shows its label
component
- Type:
React.ElementType - Default:
'div' - Description: The component used for the root node
sx
- Type:
SxProps<Theme> - Description: System prop for defining CSS styles
BottomNavigationAction Props
label
- Type:
React.ReactNode - Description: The label element
icon
- Type:
React.ReactNode - Description: The icon to display
showLabel
- Type:
boolean - Description: If
true, theBottomNavigationActionwill show its label. Defaults to the value inherited from the parentBottomNavigationcomponent
value
- Type:
any - Description: You can provide your own value. Otherwise, it falls back to the child position index
Accessibility
- Each
BottomNavigationActioninherits fromButtonBase, providing full keyboard navigation support - Use meaningful labels for screen readers
- The selected state is automatically communicated to assistive technologies