Valdres vs Recoil

Valdres takes heavy inspiration from Recoil's API design. If you're coming from Recoil, the concepts will feel familiar — atoms, selectors, families, and transactions all work similarly.

Quick migrate

Change your imports to use the Recoil compatibility package:

// Before
import { atom, selector } from "recoil"
// After
import { atom, selector } from "@valdres-react/recoil"

Key differences

  • Actively maintained — Recoil has been effectively abandoned by Meta. Valdres is actively developed.
  • Smaller bundle — Valdres has a significantly smaller footprint.
  • No string keys — Recoil requires unique string keys for every atom and selector. Valdres atoms and selectors are identified by reference, no keys needed.
  • WeakMap storage — Atoms and selectors that are no longer referenced can be garbage collected.
  • Works outside React — The core valdres package is framework-agnostic.