Open source state management

Reactive state that scales

Fast, lightweight state management for React, Vue, Svelte, Solid, and Angular. Atoms, selectors, and families — inspired by Recoil, built for performance.

$ npm install valdres valdres-react

One store. Five frameworks.

Share state seamlessly across React, Vue, Svelte, Solid, and Angular. Click any counter — they all stay in sync through a single valdres store.

valdres store
React
Loading...
Vue
Svelte
Solid
Angular
// shared.ts — this file is the same for all frameworks
import { atom } from "valdres"

export const countAtom = atom(0)

Browser APIs, reactive by default.

Valdres ships official packages that expose browser APIs as atoms — keyboard, online status, geolocation, and more. Subscribe from any framework and the UI stays in sync with the browser.

Keyboard@valdres/browser-keyboard
Loading...

Try typing — keys light up as you press them.

Online@valdres/browser-online
Loading...

Toggle offline in DevTools to see it react.

Location@valdres/browser-geolocation
Loading...

Reactive geolocation — coords stream as atoms.

Tiny footprint

Minimal bundle size with zero dependencies. Only ship what you use.

Minimal re-renders

Fine-grained subscriptions update only what changed — via useSyncExternalStore in React, and each framework's native reactivity everywhere else.

No string keys

Atoms and selectors are identified by reference. No more managing unique string identifiers.

First-class families

atomFamily and selectorFamily are first-class citizens, not just utilities. Subscribe to entire families.

Transactions

Batch multiple atom updates so subscribers only fire once. Essential for complex state changes.

Every framework

First-class bindings for React, Vue, Svelte, Solid, and Angular. Same atoms, same store — pick your framework.

A fast core engine

The framework-agnostic core is benchmarked head-to-head against Jotai across two JavaScript engines. These measure the shared engine itself — the framework adapters build on each framework's own reactivity.

Safari / JavaScriptCore
6.7x
faster than Jotai
Chrome / V8
2.8x
faster than Jotai

Core-engine geometric mean across 28 JS micro-benchmarks vs Jotai 2.19.0. View detailed benchmarks