$ cnpm install use-debouncy
???? Small (~0.2kb) debounce effect hook for React with TypeScript support
npm install use-debouncy
yarn add use-debouncy
import React, { useState } from 'react';
import { useDebouncyEffect } from 'use-debouncy';
const App = () => {
const [value, setValue] = useState('');
useDebouncyEffect(
() => fetchData(value), // function debounce
400, // number of milliseconds to delay
[value], // array values that the debounce depends (like as useEffect)
);
return <input value={value} onChange={(event) => setValue(event.target.value)} />;
};
import React, { useState } from 'react';
import { useDebouncyFn } from 'use-debouncy';
const App = () => {
const handleChange = useDebouncyFn(
(event) => fetchData(event.target.value), // function debounce
400, // number of milliseconds to delay
);
return <input value={value} onChange={handleChange} />;
};
function useDebouncyEffect(fn: () => void, wait?: number, deps?: any[]): void;
| Prop | Required | Default | Description |
|---|---|---|---|
| fn | ✓ | Debounce callback. | |
| wait | 0 |
Number of milliseconds to delay. | |
| deps | [] |
Array values that the debounce depends (like as useEffect). |
function useDebouncyFn(fn: (...args: any[]) => void, wait?: number): (...args: any[]) => void;
| Prop | Required | Default | Description |
|---|---|---|---|
| fn | ✓ | Debounce handler. | |
| wait | 0 |
Number of milliseconds to delay. |
This project uses modern testing approach with Playwright component tests:
# Run all tests (Playwright component tests)
yarn test
# Run tests with UI mode for debugging
yarn test --ui
# Run linting
yarn lint
# Build the project
yarn build
The project has comprehensive test coverage including:
useDebouncyEffect scenariosuseDebouncyFn scenariosAll tests run across multiple browsers (Chromium, Firefox, WebKit) to ensure cross-browser compatibility.
Copyright 2013 - present © cnpmjs.org | Home |