finds.dev← search

// the find

avkonst/hookstate

★ 1,656 · TypeScript · MIT · updated Mar 2025

The simple but very powerful and incredibly fast state management for React that is based on hooks

Hookstate is a React state management library built on top of `useState` that adds global state, nested state mutation, and a plugin system without the ceremony of Redux or the magic of MobX. It targets React developers who find Zustand too bare and Redux too heavy, and want something that feels like `useState` but scales to shared/global state.

The nested state proxy API is genuinely clever — you can mutate deeply nested state with `state.nested.field.set(value)` and only the components that read that specific path re-render, no selectors needed. Zero dependencies and a small bundle (~3KB) mean you're not paying for abstractions you don't use. The plugin architecture is well-thought-out: persistence (localstored), validation, broadcasting across tabs, and snapshots are all separate opt-in packages rather than bloating the core. Test coverage is thorough — there are dedicated test files for arrays, objects, primitives, promises, and edge cases.

Last meaningful activity was March 2025 and the blog hasn't been updated since 2020 — this project is in maintenance mode at best. The ecosystem is tiny compared to Zustand or Jotai, so when you hit an edge case you're reading source code, not Stack Overflow. The proxy-based state wrapping adds a layer of indirection that makes debugging harder; what you see in the debugger is a Proxy, not your actual state, and that will bite someone eventually. No React Server Components support and given the inactivity, it's unlikely to get it.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →