UNPKG

@td-design/rn-hooks

Version:

从ahooks里面抽取的一些在rn项目里可以使用的hooks。提高开发效率

25 lines (22 loc) 772 B
import { __read } from '../_virtual/_tslib.js'; import { useState, useEffect } from 'react'; import useDebounceFn from '../useDebounceFn/index.js'; import useUpdateEffect from '../useUpdateEffect/index.js'; /** * 为 `useEffect` 增加防抖的能力。 * @param effect 执行函数 * @param deps 依赖数组 * @param options 配置防抖的行为 */ function useDebounceEffect(effect, deps, options) { var _a = __read(useState({}), 2), flag = _a[0], setFlag = _a[1]; var run = useDebounceFn(function () { setFlag({}); }, options).run; useEffect(function () { return run(); // eslint-disable-next-line react-hooks/exhaustive-deps }, deps); useUpdateEffect(effect, [flag]); } export { useDebounceEffect as default };