@devloops/react-native-variant
Version:
react-native material ui library
23 lines (18 loc) • 485 B
Flow
import {useCallback, useState} from 'react';
const useToggle = (
initialValue: boolean,
): [boolean, (nextValue?: any) => void] => {
const [value, setValue] = useState<boolean>(initialValue);
const toggle = useCallback(
(nextValue?: any) => {
if (typeof nextValue === 'boolean') {
setValue(nextValue);
} else {
setValue(currentValue => !currentValue);
}
},
[setValue],
);
return [value, toggle];
};
export default useToggle;