use-hover-state
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

useHoverState()

The one aware of keyboard navigation as well 😉

Bundlephobia Types MIT License

npm i use-hover-state

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

Property Type Description
enterDelay number Delays setting isHovering to true for this amount in ms
leaveDelay number Delays 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

Readme

Keywords

none

Package Sidebar

Install

npm i use-hover-state

Weekly Downloads

0

Version

1.0.0

License

MIT

Unpacked Size

21.7 kB

Total Files

27

Last publish

Collaborators

  • thearnica