use-custom-compare-effect
shadcn-hooks/use-custom-compare-effectFreeHook
A hook like useEffect but with a custom compare function
Install it
npx shadcn@latest add https://shadcn-hooks.com/r/use-custom-compare-effect.jsonSource
1import { useEffect, useRef } from 'react'2import type { DependencyList, EffectCallback } from 'react'34export function useCustomCompareEffect<T extends DependencyList>(5 effect: EffectCallback,6 deps: T,7 customCompare: (a: T, b: T) => boolean,8) {9 const ref = useRef<T>(deps)1011 if (!ref.current || !customCompare(ref.current, deps)) {12 ref.current = deps13 }1415 useEffect(effect, ref.current)16}
Files it writes
More from shadcn-hooks
All 58 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| use-active-elementuse-active-element | shadcn-hooks | Hooks | Free | no deps | |
| use-batteryuse-battery | shadcn-hooks | Hooks | Free | no deps | |
| use-booleanuse-boolean | shadcn-hooks | Hooks | Free | no deps | |
| use-click-any-whereuse-click-any-where | shadcn-hooks | Hooks | Free | no deps | |
| use-click-awayuse-click-away | shadcn-hooks | Hooks | Free | no deps | |
| use-clipboarduse-clipboard | shadcn-hooks | Hooks | Free | no deps | |
| use-controllable-valueuse-controllable-value | shadcn-hooks | Hooks | Free | 1 dep | |
| use-counteruse-counter | shadcn-hooks | Hooks | Free | no deps |
