我写了这个钩子(可能有错误,我还没有使用它):
import { useCallback, useEffect } from 'react';
import _throttle from 'lodash/throttle';
export function useThrottledCallback(cb, delay, ...deps) {
const callback = useCallback(_throttle(cb, delay), deps);
useEffect(() => {
const lastCallback = callback;
return () => lastCallback.cancel();
}, [callback]);
return callback;
}
有没有办法可以使这个钩子的详尽-deps 规则 lint 用法?
useThrottledCallback(() => (a + b + c)}, 100, [])
在这种用法中,我想被告知a
,b
和c
需要在依赖数组中。