Giter VIP home page Giter VIP logo

react-use-debouncer's Introduction

react-use-debouncer

A simple debounced state hook that I use on some of my projects.

Install with npm:
npm i --save react-use-debouncer

or via yarn:
yarn i react-use-debouncer

Features

  • Debounced state
  • Cancelable debounced callback function

Docs

useDebouncedState

const [state, setState] = useDebouncedState(initialValue, delay);
  • initialValue: The initial value that state is initialized with
  • delay(optional): Number indicating the milliseconds to wait before setting state

Returns an array containing the debounced state and a setState function.

ex: [state, setState]

useDebouncedCallback

const [debouncedCallback, cancelCallback] = useDebouncedCallback(callback, delay);
  • callback: Callback function to be debounced
  • delay(optional): Number indicating the milliseconds to wait before calling the function

Returns an array containing the debounced callback function and a cancel function

ex: [debouncedCallback, cancelCallback]

Usage

useDebouncedState

import { useDebouncedState } from 'react-use-debouncer';

const useStateExample = () => {
  const [state, setState] = useDebouncedState('Initial');

  return (
    <div className="App">
      <span>{state}</span>
      <input onChange={({ target: { value } }) => setState(value)} />
    </div>
  );
};

Or check it out on CodeSandbox

useDebouncedCallback

import { useDebouncedCallback } from 'react-use-debouncer';

const sampleFunction = () => console.log('There should be a delay before I appear!');

const useCallbackExample = () => {
  const [debouncedCallback, cancelCallback] = useDebouncedCallback(sampleFunction);

  return <button onClick={() => debouncedCallback()}>Click Me!</button>;
};

Future

  • Leading & trailing options
  • Better CodeSandBox examples
  • Better docs

react-use-debouncer's People

Contributors

tauag avatar

Stargazers

Federico Grandi avatar Roman avatar Jake Chapman avatar Ryota Murakami avatar  avatar

Watchers

James Cloos avatar  avatar

Forkers

endbug

react-use-debouncer's Issues

Add TypeScript definitions

Hey, it would be cool if this package added some TypeScript definitions
They're pretty easy to add, and I can do it, but I guess it depends on the outcome of #5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.