import { Switch, SwitchProps } from 'antd'; import { memo, useState } from 'react'; interface InstantSwitchProps { enabled: boolean; onChange: (enabled: boolean) => Promise; size?: SwitchProps['size']; } const InstantSwitch = memo(({ enabled, onChange, size }) => { const [value, setValue] = useState(enabled); const [loading, setLoading] = useState(false); return ( { setLoading(true); setValue(enabled); await onChange(enabled); setLoading(false); }} size={size} value={value} /> ); }); export default InstantSwitch;