diff options
author | Hailey <me@haileyok.com> | 2024-03-12 09:46:25 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-12 09:46:25 -0700 |
commit | ee57d74765e644de49c02de1e817eee0c6ed81aa (patch) | |
tree | 06945ebe5e8f856981cbfb25c81bdfcee807e43b /src/lib/hooks/useDedupe.ts | |
parent | b8afb935f4eafbe64e83512ec5a97bb7b38a6ecb (diff) | |
download | voidsky-ee57d74765e644de49c02de1e817eee0c6ed81aa.tar.zst |
Dedupe navigation events (push, navigate, pop, etc) (#3179)
Diffstat (limited to 'src/lib/hooks/useDedupe.ts')
-rw-r--r-- | src/lib/hooks/useDedupe.ts | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/lib/hooks/useDedupe.ts b/src/lib/hooks/useDedupe.ts new file mode 100644 index 000000000..d9432cb2c --- /dev/null +++ b/src/lib/hooks/useDedupe.ts @@ -0,0 +1,17 @@ +import React from 'react' + +export const useDedupe = () => { + const canDo = React.useRef(true) + + return React.useRef((cb: () => unknown) => { + if (canDo.current) { + canDo.current = false + setTimeout(() => { + canDo.current = true + }, 250) + cb() + return true + } + return false + }).current +} |