From dff63144ea46ff1a4f3f0a75cd4d93db93a7c7b1 Mon Sep 17 00:00:00 2001 From: weiwei Date: Mon, 26 May 2025 19:11:23 +0800 Subject: [PATCH] useComputed --- src/hooks/useComputed.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/hooks/useComputed.ts diff --git a/src/hooks/useComputed.ts b/src/hooks/useComputed.ts new file mode 100644 index 0000000..87db6c9 --- /dev/null +++ b/src/hooks/useComputed.ts @@ -0,0 +1,17 @@ +import { computed } from "vue" + +const useComputed = (fn: Function) => { + const map = new Map() + + return (...args: any[]) => { + const key = JSON.stringify(args) + + if (map.has(key)) return map.get(key) + + const comput = computed(() => fn(...args)) + map.set(key, comput) + return comput + } +} + +export default useComputed