登录 注册
其他 atomichacktoberfestmanagementreactstate
21,322
Stars
731
Forks
65
Watchers
6
Open Issues
MIT
许可证
TypeScript
语言
2020-08-11
创建时间
2026-11-09
最近更新

项目能做什么

面向 React 的轻量级、原子化且灵活的状态管理库。
来源:AI 基于仓库事实生成 · 内容以仓库实际 README 为准

使用说明 查看原始 README 原仓库文档

中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
<br>

![Jotai (light mode)](./img/jotai-header-light.png#gh-light-mode-only)
![Jotai (dark mode)](./img/jotai-header-dark.png#gh-dark-mode-only)

<br>

visit [jotai.org](https://jotai.org) or `npm i jotai`

[![Build Status](https://img.shields.io/github/actions/workflow/status/pmndrs/jotai/test.yml?branch=main&style=flat&colorA=000000&colorB=000000)](https://github.com/pmndrs/jotai/actions/workflows/test.yml?query=branch%3Amain)
[![Build Size](https://img.shields.io/bundlephobia/minzip/jotai?label=bundle%20size&style=flat&colorA=000000&colorB=000000)](https://bundlephobia.com/result?p=jotai)
[![Version](https://img.shields.io/npm/v/jotai?style=flat&colorA=000000&colorB=000000)](https://www.npmjs.com/package/jotai)
[![Downloads](https://img.shields.io/npm/dt/jotai.svg?style=flat&colorA=000000&colorB=000000)](https://www.npmjs.com/package/jotai)
[![Discord Shield](https://img.shields.io/discord/740090768164651008?style=flat&colorA=000000&colorB=000000&label=discord&logo=discord&logoColor=ffffff)](https://discord.gg/poimandres)
[![Open Collective](https://img.shields.io/opencollective/all/jotai?style=flat&colorA=000000&colorB=000000)](https://opencollective.com/jotai)

Jotai scales from a simple useState replacement to an enterprise TypeScript application.

- Minimal core API (2kb)
- Many utilities and extensions
- No string keys (compared to Recoil)

Examples: [Demo 1](https://codesandbox.io/s/jotai-demo-47wvh) |
[Demo 2](https://codesandbox.io/s/jotai-demo-forked-x2g5d)

### First, create a primitive atom

An atom represents a piece of state. All you need is to specify an initial
value, which can be primitive values like strings and numbers, objects, and
arrays. You can create as many primitive atoms as you want.

```jsx
import { atom } from 'jotai'

const countAtom = atom(0)
const countryAtom = atom('Japan')
const citiesAtom = atom(['Tokyo', 'Kyoto', 'Osaka'])
const mangaAtom = atom({ 'Dragon Ball': 1984, 'One Piece': 1997, Naruto: 1999 })
```

### Use the atom in your components

It can be used like `React.useState`:

```jsx
import { useAtom } from 'jotai'

function Counter() {
  const [count, setCount] = useAtom(countAtom)
  return (
    <h1>
      {count}
      <button onClick={() => setCount((c) => c + 1)}>one up</button>
      ...
```

### Create derived atoms with computed values

A new read-only atom can be created from existing atoms by passing a read
function as the first argument. `get` allows you to fetch the contextual value
of any atom.

```jsx
const doubledCountAtom = atom((get) => get(countAtom) * 2)

function DoubleCounter() {
  const [doubledCount] = useAtom(doubledCountAtom)
  return <h2>{doubledCount}</h2>
}
```

### Creating an atom from multiple atoms

You can combine multiple atoms to create a derived atom.

```jsx
const count1 = atom(1)
const count2 = atom(2)
const count3 = atom(3)

const sum = atom((get) => get(count1) + get(count2) + get(count3))
```

Or if you like fp patterns ...

```jsx
const atoms = [count1, count2, c
阅读完整原文

商业机会分析 AI 生成

Jotai 状态拓扑可视化与性能分析插件(DevTools Pro)

产品构想针对复杂 React 应用中原子(atom)依赖网状化、非预期重渲染难以排查的问题(推测),开发提供深度追踪与分析能力的浏览器扩展或桌面调试工具。
核心功能原子依赖关系动态图谱、重渲染因果链路追踪、状态时间旅行与快照导出、高频变更性能瓶颈告警(推测)
目标用户维护中大型 React + TypeScript 项目的研发团队与资深前端工程师(推测)
难度/周期中等(需深入掌握 React 渲染机制、浏览器扩展架构及 TypeScript 运行时注入) · 4-8 周完成核心 MVP(推测) · 成本:极低(纯前端/扩展形态,无需 GPU 或重型后端,仅需基础官网与分发成本)
收费模式基础版免费引流,高级依赖分析、性能报告导出与团队协作调试功能采用买断制或订阅制(推测)
竞争风险开源免费 DevTools 的直接竞争;前端开发者对调试辅助工具的付费转化率可能偏低(推测)
依据 尚需验证的假设

React + TypeScript + Jotai 企业级前端模板与 SaaS 脚手架

产品构想依托 MIT 协议的商业友好性与超过 2.1 万 Star 的生态认知度,将 Jotai 与主流路由、表单、权限及请求管理整合,出售生产级别的商业前端代码模板(推测)。
核心功能TypeScript 严格类型体操封装、模块化原子状态组织规范、复杂业务场景状态模板(如多步表单、本地草稿恢复)、配套架构指南(推测)
目标用户独立开发者、接单外包团队及追求快速上线 MVP 的初创公司(推测)
难度/周期较低(立足纯 TypeScript 前端技术栈,门槛在于工程实践抽象与 UI/交互打磨) · 2-4 周(推测) · 成本:极低(主要为个人开发时间成本及低成本静态支付页费用)
收费模式按个人授权与团队授权分级进行一次性代码买断(推测)
竞争风险前端脚手架市场同质化严重且易被盗版传播;需持续投入精力跟进 React 与 Jotai 版本迭代(推测)
依据 AI推测

原子化状态云端持久化与多端同步服务(Sync-as-a-Service)

产品构想仓库特征表明核心项目无数据库与后端依赖(db=0, apikey=0),面向需要跨标签页、多端实时同步或离线优先(Local-first)的 React 应用,提供 Jotai 状态的托管同步适配器与云服务(推测)。
核心功能Jotai Atom 轻量级同步中间件、冲突解决机制、客户端状态增量加密持久化与托管 API(推测)
目标用户开发协同编辑、离线看板或跨端状态同步类 SaaS 应用的前端团队(推测)
难度/周期较高(需独立补齐高并发后端、实时通信与数据一致性等原项目未覆盖的技术栈) · 8-12 周(推测) · 成本:中等(需承担后端服务器、数据库存储及实时消息传输的持续云运维成本)
收费模式按月度活跃连接数、同步消息量或云端存储空间实行 SaaS 阶梯订阅(推测)
竞争风险重后端运维偏离独立开发者轻量级优势;面临成熟 BaaS 与专业实时协作基础设施的强力竞争(推测)
依据 尚需验证的假设

Jotai 原子化状态架构实战课程与企业迁移咨询

产品构想利用 21309 Star 积累的庞大潜在学习人群,推出深度架构设计教程,并为计划从传统重型状态管理方案迁移至 Jotai 的企业提供专项技术顾问服务(推测)。
核心功能原子化状态模式拆解视频/电子书、反模式与内存泄漏避坑案例、企业代码库一对一审计与迁移方案设计(推测)
目标用户希望提升状态架构设计能力的 React 开发者,以及面临前端性能重构的技术团队(推测)
难度/周期较低(侧重技术沉淀与内容交付,无复杂工程研发障碍) · 3-6 周完成首期课程录制或编写(推测) · 成本:极低(除内容发行平台分成外几乎无固定硬件支出)
收费模式数字课程售卖结合按人天或项目包干的技术咨询费(推测)
竞争风险官方免费文档与社区高质量博客对基础教程形成替代;纯咨询服务时间线性消耗,难以规模化复制(推测)
依据 数据支持的判断
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心

竞品与相似项目 GitHub Search 真实检索

项目中文简介Stars语言
unocss/unocss 中文介绍暂未生成
The instant on-demand atomic CSS engine.
18,988 TypeScript
redcanaryco/atomic-red-team 中文介绍暂未生成
Small and highly portable detection tests based on MITRE's A
12,818 C
nanostores/nanostores 中文介绍暂未生成
A tiny (340 bytes) state manager for React/RN/Preact/Vue/Sve
7,644 TypeScript
Eigenwise/atomic-agents 中文介绍暂未生成
Building AI agents, atomically
6,322 Python
basscss/basscss 中文介绍暂未生成
Low-level CSS Toolkit – the original Functional/Utility/Atom
5,899 CSS
indexzero/nconf 中文介绍暂未生成
Hierarchical node.js configuration with files, environment v
3,858 JavaScript
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。

项目优势与风险

技术成熟度创建于 2020-08-11,近 30 天仍在推送,发布过 100 个 Release
社区活跃Star 21,322 / Fork 731 / Issue 6(数据支持,可自行核实)
许可证MIT
主要风险上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价

安装与使用

快速开始(以仓库 README 为准)
git clone https://github.com/pmndrs/jotai.git
cd jotai
# 请阅读仓库 README 获取确切安装步骤(依赖、配置、启动命令)
阅读原仓库文档
术语说明:Docker=应用容器(把程序和依赖打包运行);API Key=调用外部服务的密钥;Git Clone=把仓库代码下载到本地。常见错误:API Key 未配置 / 端口占用 / 数据库连接失败,多数项目在 README 的 Troubleshooting 章节有说明。