Category · 17 tools

State & data

State management, data fetching, forms and the utility libraries every app reaches for.

17 shown

State & data

date-fns

A modern, modular JavaScript date utility library with tree-shakeable functions.

Free
  • dates
  • utility
  • javascript
take

Date handling without dragging in a giant library — import just the functions you use. The sensible modern choice now that Moment is legacy.

Visit ↗
State & data

Day.js

A 2kB immutable date library with a Moment.js-compatible API.

Free
  • dates
  • lightweight
  • javascript
take

Moment's tiny successor — the same familiar API in 2kB. Pick it when you want Moment's ergonomics without Moment's weight.

Visit ↗
State & data

Jotai

An atomic state management library for React built around primitive atoms.

Free
  • react
  • state
  • atoms
take

Bottom-up, atomic state that scales from one value to a whole app without ceremony. Lovely when state is granular — a different mental model than stores, in a good way.

Visit ↗
State & data

Nanostores

A tiny, framework-agnostic state manager (under 1kB) for React, Vue, Svelte and others.

Free
  • state
  • tiny
  • framework-agnostic
take

Sub-1kB shared state that works across frameworks — the reason it's Astro's recommended store for islands. Perfect when you need a little shared state without a big library.

Visit ↗
State & data

React Hook Form

A performant, flexible form library for React with minimal re-renders.

Free
  • react
  • forms
  • validation
take

The React form library that's fast because it barely re-renders. The default for forms; pair it with Zod for validation and you're basically done.

Visit ↗
State & data

Recharts

A composable charting library for React built on D3.

Free
  • charts
  • react
  • dataviz
take

The friendly default for React charts — composable components, sensible defaults, quick to wire up. Great for dashboards that need solid charts without a D3 deep-dive.

Visit ↗
State & data

Redux Toolkit

The official, opinionated toolset for efficient Redux development.

Free
  • react
  • state
  • redux
take

Redux without the boilerplate everyone used to complain about. Still the right call for large, complex apps that need strict, debuggable state; overkill for small ones.

Visit ↗
State & data

SWR

A React hooks library for data fetching with stale-while-revalidate caching, by Vercel.

Free
  • data-fetching
  • react
  • hooks
take

A lighter take on server-state from Vercel — fetch, cache and revalidate with one hook. Simpler than TanStack Query; pick it when you don't need the heavier feature set.

Visit ↗
State & data

TanStack Form

A headless, typesafe form library for React and other frameworks.

Free
  • forms
  • typesafe
  • headless
take

A newer, fully-typed, framework-agnostic form library from the TanStack crew. Worth a look if you want first-class types and aren't wedded to React Hook Form.

Visit ↗
State & data

TanStack Query

A data-fetching and server-state library with caching, background updates and mutations.

Free
  • data-fetching
  • server-state
  • react
take

The library that ended hand-rolled fetch-and-cache logic — caching, refetching and mutations handled. If you fetch server data in React, you want this; it deletes whole categories of bugs.

Visit ↗
State & data

TanStack Table

A headless UI library for building powerful tables and datagrids.

Free
  • table
  • datagrid
  • headless
take

Headless tables done right — sorting, filtering, pagination, virtualization, and you bring the markup. The answer when a data grid outgrows a plain table and you want full styling control.

Visit ↗
State & data

tRPC

End-to-end typesafe APIs for TypeScript without schemas or code generation.

Free
  • typescript
  • api
  • typesafe
take

Call your backend like a typed function — change the API and the frontend types update instantly, no codegen. Magic in a full-stack TypeScript monorepo; it ties both ends to TypeScript.

Visit ↗
State & data

Valibot

A modular schema validation library with a tiny bundle size, similar to Zod.

Free
  • validation
  • typescript
  • lightweight
take

Zod's featherweight rival — same idea, a fraction of the bundle thanks to a modular design. Reach for it when client bundle size really matters.

Visit ↗
State & data

Valtio

A proxy-based state library that makes mutable-style updates simple for React and vanilla JS.

Free
  • react
  • state
  • proxy
take

Mutate state like a plain object and components just re-render — proxy magic from the pmndrs crew. Delightfully simple when the store model fits your head.

Visit ↗
State & data

XState

A library for state machines and statecharts in JavaScript and TypeScript.

Free
  • state-machine
  • statecharts
  • javascript
take

State machines for when your UI logic has real states — loading, error, retrying — and you're tired of boolean soup. A learning curve, but it makes impossible states impossible.

Visit ↗
State & data

Zod

A TypeScript-first schema validation library that infers static types from schemas.

Free
  • validation
  • typescript
  • schema
take

Define a schema once, get runtime validation and a TypeScript type for free. It's everywhere for a reason — forms, API inputs, env vars. The content schema in this very site is Zod.

Deep dive →
State & data

Zustand

A small, fast, hook-based state management library for React.

Free
  • react
  • state
  • store
take

The state library that finally feels right — tiny, no boilerplate, no context gymnastics. My default for React state; reach for it before you reach for Redux.

Visit ↗