I put my entire CRUD in one React hook. It felt efficient. Then it wasn’t.

TL;DR AI
2 min readKey summary
A developer packed list, detail, and CRUD mutations into one React hook for an admin screen.
The approach looked efficient at first, but it created awkward lifecycles, confusing cache invalidation, and extra rerenders.
The takeaway: split the feature into smaller hooks for list, detail, and mutation logic to keep React Query behavior predictable.
