use-deep-compare-layout-effect
shadcn-hooks/use-deep-compare-layout-effectFreeHook
A hook to use a deep compare layout effect
Install it
npx shadcn@latest add https://shadcn-hooks.com/r/use-deep-compare-layout-effect.jsonSource
1import { dequal } from 'dequal'2import { useLayoutEffect, useRef } from 'react'3import type { DependencyList, EffectCallback } from 'react'45export function useDeepCompareLayoutEffect(6 effect: EffectCallback,7 deps: DependencyList,8) {9 const ref = useRef<DependencyList>(deps)1011 if (!ref.current || !dequal(ref.current, deps)) {12 ref.current = deps13 }1415 useLayoutEffect(effect, ref.current)16}
What it pulls in
npm packages
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 |
