Skip to content

BottomNavigationAction API

API reference docs for the React BottomNavigationAction component. Learn about the props, CSS, and other APIs of this exported module.



import BottomNavigationAction from '@mui/material/BottomNavigationAction';
// or
import { BottomNavigationAction } from '@mui/material';

Learn about the difference by reading this guide on minimizing bundle size.


Props of the ButtonBase component are also available.


This prop isn't supported. Use the component prop if you need to change the children structure.


Override or extend the styles applied to the component.

See CSS classes API below for more details.


The icon to display.


The label element.


If true, the BottomNavigationAction will show its label. By default, only the selected BottomNavigationAction inside BottomNavigation will show its label.
The prop defaults to the value (false) inherited from the parent BottomNavigation component.

| object
| bool>
| func
| object

The system prop that allows defining system overrides as well as additional CSS styles.

See the `sx` page for more details.


You can provide your own value. Otherwise, we fallback to the child position index.

The ref is forwarded to the root element.


While not explicitly documented above, the props of the ButtonBase component are also available in BottomNavigationAction. You can take advantage of this to target nested components.

Theme default props

You can use MuiBottomNavigationAction to change the default props of this component with the theme.

CSS classes

These class names are useful for styling with CSS. They are applied to the component's slots when specific states are triggered.

Class nameRule nameDescription
.Mui-selectedState class applied to the root element if selected.
.MuiBottomNavigationAction-iconOnlyiconOnlyState class applied to the root element if showLabel={false} and not selected.
.MuiBottomNavigationAction-labellabelStyles applied to the label's span element.
.MuiBottomNavigationAction-rootrootStyles applied to the root element.

You can override the style of the component using one of these customization options: