OSS Tanbou

Jotai — compose React state from small independent atoms

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
21,275
Primary language
TypeScript
License
MIT
Repository last updated
Sep 17, 2026

Overview

Jotai is a React state-management library that models state as small atoms subscribed to only where needed. Primitive, derived, asynchronous, and write-only atoms share the same compositional model.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Read and write primitive atoms through useAtom

Create a state unit with atom(0) and use useAtom to access its current value and setter from React components.

Sources: [2][3]

Express derived and asynchronous relationships between atoms

Derived atoms read other atoms through get, while async atoms can return promises and integrate asynchronous state into the same graph.

Sources: [2][3]

For splitting React application state into small reusable units

It fits applications that prefer feature-level state units and fine-grained subscriptions over a single monolithic global store.

Sources: [2]

Check the v3 runtime and TypeScript requirements

The current package requires Node.js 22.12+, React 18+, and type definitions intended for TypeScript 5.5+.

Sources: [4]

Official sources

  1. [1]pmndrs/jotai repository(2026-09-21)
  2. [2]Jotai README(2026-09-21)
  3. [3]Jotai documentation(2026-09-21)
  4. [4]jotai package(2026-09-21)
  5. [5]Jotai MIT license(2026-09-21)
Supplemental curator note

Jotai is currently 3.0.0. The package peers on React 18+ and its type definitions are structured around TypeScript 5.5+, while the Node engine requires 22.12.0+. The model favors small independently subscribed atoms and derived relationships instead of one large global state object.

Try it in 3 steps

  1. 1

    Install Jotai

    Add Jotai to a React project using the minimal README installation path.

    npm i jotai
  2. 2

    Create a primitive atom

    Define a small independent unit of application state.

    const countAtom = atom(0)
  3. 3

    Use the atom from a component

    Subscribe from a component and update the atom through its setter.

    const [count, setCount] = useAtom(countAtom)
Check the official README

Growth

Growth trends · Last 30 days

21,275 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
6
Open PRs
1

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • react
  • state
  • management
  • atomic
  • hacktoberfest
Stars
21,275
Forks
725
Watchers
68
Open issues
1
Contributors
240
Primary language
TypeScript
License
MIT
Repository last updated
Sep 17, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.