UNPKG

@25sprout/react-starter

Version:

25sprout web starter with React

29 lines (22 loc) 508 B
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 }]; };