Ross ROSS = Recommend OSS · open-source software intelligence for agents

kentcdodds/use-deep-compare-effect

🐋 It's react's useEffect hook, except using deep comparison on the inputs, not reference equality observed · 2026-08-28

github.com/kentcdodds/use-deep-compare-effect · homepage · TypeScript · MIT (permissive) observed · 2026-08-28

Health v2 · maintenance only

23/100

  • Activity 0
  • Release rhythm 8
  • Longevity 100
How is this computed?

round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.

  • gap_med: n/a
  • age_days: 2736
  • days_rel: n/a
  • days_push: 742
  • n_releases_24m: 0

Full methodology

Adoption not part of the score

1916 stars · 88 forks observed · 2026-08-28

What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded

A small React hook library that provides a drop-in replacement for useEffect which compares dependencies with deep equality instead of reference equality. It prevents effect callbacks from re-running when object or array dependencies are recreated each render without meaningful changes.

Use cases

  • run an effect only when object dependencies actually change in react
  • avoid useEffect firing every render because a dependency object is recreated
  • deep compare arrays in react hook dependencies
  • replace useEffect with deep equality check for query variables
  • stop unnecessary http requests triggered by reference-equal props

When to choose

  • your useEffect dependencies are objects or arrays that are new on every render
  • you cannot restructure props or memoize dependencies to use plain useEffect
  • you want a tiny, focused drop-in hook with no extra dependencies

When to avoid

  • your dependencies are primitives like numbers, strings, or booleans
  • you can solve the problem with useMemo, useCallback, or better data flow
  • your dependency objects contain functions defined during render, which still trigger every render

Facets

library · maturity maintenance

state-management developer-tools frontend web-development developer-tools browser react-hooks useeffect deep-comparison react nodejs web-server

2 sources

Member repositories

RepositoryRoleHealth v2
kentcdodds/use-deep-compare-effectmain23

For agents

markdown · JSON · MCP: product_card(name="kentcdodds/use-deep-compare-effect")

Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem