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