Skip to content
+

Switch

Switches are UI elements that let users choose between two states—most commonly on/off.

useSwitch API

Import

import useSwitch from '@mui/base/useSwitch';
// or
import { useSwitch } from '@mui/base';
Learn about the difference by reading this guide on minimizing bundle size.

Parameters

checked

If true, the component is checked.

Type:

boolean
defaultChecked

The default checked state. Use when the component is not controlled.

Type:

boolean
disabled

If true, the component is disabled.

Type:

boolean
onBlur

Type:

React.FocusEventHandler
onChange

Callback fired when the state is changed.

Type:

React.ChangeEventHandler<HTMLInputElement>
onFocus

Type:

React.FocusEventHandler
onFocusVisible

Type:

React.FocusEventHandler
readOnly

If true, the component is read only.

Type:

boolean
required

If true, the input element is required.

Type:

boolean

Return value

checked

If true, the component will be checked.

Type:

boolean
disabled

If true, the component will be disabled.

Type:

boolean
focusVisible

If true, it indicates that the component is being focused using keyboard.

Type:

boolean
getInputProps

Resolver for the input slot's props.

Type:

(externalProps?: React.HTMLAttributes<HTMLInputElement>) => UseSwitchInputSlotProps
inputRef

Ref to the input slot's DOM node.

Type:

React.RefCallback<HTMLInputElement> | null
readOnly

If true, the component will be read only.

Type:

boolean