diff options
| author | Sam Nystrom <sam@samnystrom.dev> | 2024-03-14 00:10:12 +0000 |
|---|---|---|
| committer | Sam Nystrom <sam@samnystrom.dev> | 2024-03-13 20:17:07 -0400 |
| commit | 71abdb2ee3f5bdb1e029c9f4266f4b797fa960f9 (patch) | |
| tree | 2c044cb3475cd0b8584648dc1d170e1c55c95855 /src/components/ButtonMenu.tsx | |
| parent | b4d7b00dd1add8e1cffb7771539fa6c419b64846 (diff) | |
fix: memoize stuff
Diffstat (limited to 'src/components/ButtonMenu.tsx')
| -rw-r--r-- | src/components/ButtonMenu.tsx | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/components/ButtonMenu.tsx b/src/components/ButtonMenu.tsx index 6a2b73e..f4427b3 100644 --- a/src/components/ButtonMenu.tsx +++ b/src/components/ButtonMenu.tsx @@ -1,5 +1,5 @@ import type { ComponentChildren } from 'preact'; -import { useEffect, useRef, useId } from 'preact/hooks'; +import { useEffect, useCallback, useRef, useId } from 'preact/hooks'; import { useSignal, batch } from '@preact/signals'; import Button from './Button.tsx'; import Menu from './Menu.tsx'; @@ -16,12 +16,12 @@ const ButtonMenu = ({ children, label }: ButtonMenuProps) => { const x = useSignal(0); const y = useSignal(0); - const updateRect = () => batch(() => { + const updateRect = useCallback(() => batch(() => { const rect = ref.current?.getBoundingClientRect(); if (!rect) return; x.value = rect.x; y.value = rect.y + rect.height + 1; - }); + }), []); useEffect(updateRect, [ref.current]); return ( |
