@td-design/rn-hooks
Version:
从ahooks里面抽取的一些在rn项目里可以使用的hooks。提高开发效率
27 lines (23 loc) • 759 B
JavaScript
;
var _tslib = require('../_virtual/_tslib.js');
var react = require('react');
var index = require('../useDebounceFn/index.js');
var index$1 = require('../useUpdateEffect/index.js');
/**
* 为 `useEffect` 增加防抖的能力。
* @param effect 执行函数
* @param deps 依赖数组
* @param options 配置防抖的行为
*/
function useDebounceEffect(effect, deps, options) {
var _a = _tslib.__read(react.useState({}), 2), flag = _a[0], setFlag = _a[1];
var run = index(function () {
setFlag({});
}, options).run;
react.useEffect(function () {
return run();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, deps);
index$1(effect, [flag]);
}
module.exports = useDebounceEffect;