useKeyPressEvent

This hook fires keydown and keyup calllbacks, similar to how useKey hook does, but it only triggers each callback once per press cycle. For example, if you press and hold a key, it will fire keydown callback only once.

这个钩子触发keydownkeydup 回调,类似于 usekey ,但在一个周期内只会触发一次回调。 例如,如果你按住一个键,它将只触发一次keydown回调。

Usage

  1. import React, { useState } from React;
  2. import useKeyPressEvent from 'react-use/lib/useKeyPressEvent';
  3. const Demo = () => {
  4. const [count, setCount] = useState(0);
  5. const increment = () => setCount(count => ++count);
  6. const decrement = () => setCount(count => --count);
  7. const reset = () => setCount(count => 0);
  8. useKeyPressEvent(']', increment, increment);
  9. useKeyPressEvent('[', decrement, decrement);
  10. useKeyPressEvent('r', reset);
  11. return (
  12. <div>
  13. <p>
  14. Try pressing <code>[</code>, <code>]</code>, and <code>r</code> to
  15. see the count incremented and decremented.</p>
  16. <p>Count: {count}</p>
  17. </div>
  18. );
  19. };

Reference

  1. useKeyPressEvent('<key>', keydown);
  2. useKeyPressEvent('<key>', keydown, keyup);
  3. useKeyPressEvent('<key>', keydown, keyup, useKeyPress);