From 11f91155f9978c8306cb1c888ed40455db59b836 Mon Sep 17 00:00:00 2001 From: lxr <1076629390@qq.com> Date: Wed, 5 Jul 2023 19:56:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20useDebounce=20=E5=9C=A8=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E9=87=8C=E4=BD=BF=E7=94=A8=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20(#1472)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: useDebounce 在小程序里使用问题 * chore: 优化声明 --------- Co-authored-by: 云泥 Co-authored-by: huangcheng --- packages/hooks/src/useDebounceFn/index.ts | 2 +- packages/hooks/src/utils/lodash-polyfill.ts | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 packages/hooks/src/utils/lodash-polyfill.ts diff --git a/packages/hooks/src/useDebounceFn/index.ts b/packages/hooks/src/useDebounceFn/index.ts index 9469840f4f..24910f4b37 100644 --- a/packages/hooks/src/useDebounceFn/index.ts +++ b/packages/hooks/src/useDebounceFn/index.ts @@ -1,4 +1,4 @@ -import { debounce } from 'lodash-es'; +import { debounce } from '../utils/lodash-polyfill'; import { useMemo } from 'react'; import type { DebounceOptions } from '../useDebounce/debounceOptions'; import useLatest from '../useLatest'; diff --git a/packages/hooks/src/utils/lodash-polyfill.ts b/packages/hooks/src/utils/lodash-polyfill.ts new file mode 100644 index 0000000000..677c34cac9 --- /dev/null +++ b/packages/hooks/src/utils/lodash-polyfill.ts @@ -0,0 +1,17 @@ +import { debounce } from 'lodash-es'; + +function isNodeOrWeb() { + const freeGlobal = + (typeof global === 'undefined' ? 'undefined' : typeof global) == 'object' && + global && + global.Object === Object && + global; + const freeSelf = typeof self == 'object' && self && self.Object === Object && self; + return freeGlobal || freeSelf; +} + +if (!isNodeOrWeb()) { + global.Date = Date; +} + +export { debounce };