1.0.0 • Published 2 years ago

use-hover-state v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

A React hook for tracking user interaction with the DOM elements, combining 🖱mouse events and ⌨️ keyboard focus

Quick Start

import * as React from 'react';
import { useHoverState } from 'use-hover-state';

const Component = (props) => {
  const [isHovering, hoverState] = useHoverState();
  return <div {...hoverState}>{isHovering ? 'Hovering' : 'Not hovering'}</div>;
};

API

useHoverState(options?)

Returns boolean, spreadProps

This hook returns a tuple with the:

  • boolean isHovered state, representing current active state of an element
  • object spreadProps, which one should spread on the given element
  • object realState, which one can use to distinguish mouse and keyboard activity

HoverOptions

PropertyTypeDescription
enterDelaynumberDelays setting isHovering to true for this amount in ms
leaveDelaynumberDelays setting isHovering to false for htis amount in ms

You almost certainty need to set leaveDelay to a non zero value

supportsHover

A hover feature detector

import { supportsHover } from 'react-hover-state';

switch (supportsHover()) {
  case true:
    'yes';
  case false:
    'no';
  default:
    'this is server';
}

See also

LICENSE

MIT