@25sprout/react-starter
Version:
25sprout web starter with React
29 lines (22 loc) • 508 B
JavaScript
import { useState } from 'react';
export const useBoolean = (options = {}) => {
const { onTrue = () => {}, onFalse = () => {}, defaultBoolean = false } = options;
const [boolean, setState] = useState(defaultBoolean);
const toggle = () => {
if (boolean) {
onFalse();
} else {
onTrue();
}
setState(!boolean);
};
const setFalse = () => {
setState(false);
onFalse();
};
const setTrue = () => {
setState(true);
onTrue();
};
return [boolean, { toggle, setFalse, setTrue }];
};