@tolokoban/ui
Version:
React components with theme
14 lines • 1.22 kB
JavaScript
import * as React from "react";
/**
* Same as React.useEffect, but the effect is debounced.
* @param delay Number of milliseconds for debouncing.
*/
export function useDebouncedEffect(effect, deps, delay = 300) {
const refTimeout = React.useRef(-1);
React.useEffect(() => {
window.clearTimeout(refTimeout.current);
refTimeout.current = window.setTimeout(effect, delay);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, deps);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2VkLWVmZmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9kZWJvdW5jZWQtZWZmZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBRTlCOzs7R0FHRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FDOUIsTUFBNEIsRUFDNUIsSUFBdUMsRUFDdkMsS0FBSyxHQUFHLEdBQUc7SUFFWCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbkMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDakIsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDdkMsVUFBVSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNyRCx1REFBdUQ7SUFDM0QsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO0FBQ1osQ0FBQyJ9