You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
spa_instat_tv/src/hooks/useToggle.tsx

15 lines
409 B

import { useState, useCallback } from 'react'
export const useToggle = (initialState = false) => {
const [isOpen, setIsOpen] = useState(initialState)
const open = useCallback(() => setIsOpen(true), [])
const close = useCallback(() => setIsOpen(false), [])
const toggle = useCallback(() => setIsOpen((state) => !state), [])
return {
close,
isOpen,
open,
setIsOpen,
toggle,
}
}