TanStack
TanStack

Store

alpha

A small reactive core for state that should stay local.

Store is a framework-agnostic signals implementation with immutable updates, derived values, batching, and adapters that let components select only the state they render.

Docs
render microscope

uiStore.setState()

derived store

visibleRows = 3

Workspacerender 1
Sidebarrender 1

Docs

Examples

API

Rowsrender 1
Routes
Queries
Tables

Each control updates one slice. Only the component selecting that slice increments its render count.

Infrastructure, not architecture

Small enough to sit underneath the product.

Store powers state inside framework-agnostic TanStack libraries and can stand alone in an application. It provides the reactive primitive without prescribing a product-wide state architecture.

state
actions
batch

Store

derived
selectors
subscribers

Four focused primitives

Write, derive, batch, and select.

The core stays intentionally direct: update a value, compute from other stores, group related writes, and subscribe at the granularity the renderer needs.

A value with an explicit update path.

const count = createStore(0)
count.setState((value) => value + 1)

state: 1

one store core
React
Preact
Solid
Vue
Angular
Svelte
Lit

vanilla core ยท renderer-specific binding

Framework adapters

The binding changes. The state model does not.

Use the same framework-agnostic core from vanilla TypeScript, then connect it to React, Preact, Solid, Vue, Angular, Svelte, or Lit through a thin adapter.

Use the smallest state tool

Store owns one clear part of the stack.

Reach for Store when state is local to the client and benefits from reactive derivation. Keep navigation, remote resources, and relational API data in the tools designed for them.

Store

client signal

Focused reactive state, derived values, and selected subscriptions.

Router

URL state

Shareable, bookmarkable state that belongs in navigation.

Query

server state

Asynchronous resources, caching, freshness, and synchronization.

DB

reactive data graph

Collections, joins, live queries, and optimistic API data.