UNPKG

opencode-agent-kit

Version:

Multi-stack OpenCode agent toolkit — 33+ specialized AI agents, 200+ skills, 46 commands, 8 MCP servers (Nuxt, React, Node.js, Laravel, CI3, Android, Flutter, DevOps, SEO, SonarQube, and more)

40 lines (30 loc) 1.07 kB
--- title: useEffectEvent for Stable Callback Refs impact: LOW impactDescription: prevents effect re-runs tags: advanced, hooks, useEffectEvent, refs, optimization --- ## useEffectEvent for Stable Callback Refs Access latest values in callbacks without adding them to dependency arrays. Prevents effect re-runs while avoiding stale closures. **Incorrect (effect re-runs on every callback change):** ```tsx function SearchInput({ onSearch }: { onSearch: (q: string) => void }) { const [query, setQuery] = useState('') useEffect(() => { const timeout = setTimeout(() => onSearch(query), 300) return () => clearTimeout(timeout) }, [query, onSearch]) } ``` **Correct (using React's useEffectEvent):** ```tsx import { useEffectEvent } from 'react'; function SearchInput({ onSearch }: { onSearch: (q: string) => void }) { const [query, setQuery] = useState('') const onSearchEvent = useEffectEvent(onSearch) useEffect(() => { const timeout = setTimeout(() => onSearchEvent(query), 300) return () => clearTimeout(timeout) }, [query]) } ```