GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Blog
  • YouTubeThe official TanStack channel.
  • WorkshopsLive sessions from the maintainers.
  • DiscordReal-time community support.
  • GitHubSource, issues, discussions, and releases.
  • ShowcaseProjects selected by the TanStack team.
  • Community projects
  • TanChatNEW
  • StatsNPM and ecosystem usage data.
  • Merch
  • Support OverviewFind the right support path.
  • PartnersCompanies supporting TanStack.
  • EthosHow we approach open source.
  • TenetsThe values that shape TanStack libraries.

This view

  • Original page
  • New address

GeezerVison is showing tanstack.com — TanStack Store

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.

849.5Mtotal downloads39,311,563weekly downloads913GitHub stars

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.

Partners

Gold
LovableLovable
CodeRabbitCodeRabbit
CloudflareCloudflare
RenderRender
RailwayRailway
Silver
ClerkClerk
OpenRouterOpenRouter
SerpApiSerpApi
WorkOS
Bronze
PrismaPrisma
Scarf
OSS Sponsors

Sponsors get special perks like private discord channels, priority issue requests, and direct support!

Become a Sponsor
View Previous Partners
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.