UNPKG

@fluent-windows/hooks

Version:
29 lines (27 loc) 673 B
/** * Subscribe to hover events based on `onMouseEnter`, `onMouseLeave` * * Demo * import { useHover } from '@fluent-windows/hooks' * * function handleChange() { * // ... * } * const [status, bind] = useHover(handleChange) * * <button {...bind}>{status}</button> */ import * as React from 'react'; function useHover(statusHandler) { const [isHovered, setHovered] = React.useState(false); const bind = { onMouseEnter: () => { statusHandler ? statusHandler(true) : setHovered(true); }, onMouseLeave: () => { statusHandler ? statusHandler(false) : setHovered(false); } }; return [isHovered, bind]; } export default useHover;