( initialState = true )
| 6 | * @returns {[boolean,function,function,function,function]} The state, toggleState, setState, setTrue and setFalse in that order. |
| 7 | */ |
| 8 | const useToggleState = ( initialState = true ) => { |
| 9 | const [ state, setState ] = useState( initialState ); |
| 10 | const toggleState = useCallback( () => setState( ! state ), [ state, setState ] ); |
| 11 | const setTrue = useCallback( () => setState( true ), [ setState ] ); |
| 12 | const setFalse = useCallback( () => setState( false ), [ setState ] ); |
| 13 | |
| 14 | return [ state, toggleState, setState, setTrue, setFalse ]; |
| 15 | }; |
| 16 | |
| 17 | export default useToggleState; |
no outgoing calls