Repolode
mobxjs

mobxjs/mobx

面向 JavaScript 和 TypeScript 应用的简洁、可扩展状态管理库,自动追踪依赖。

Star
28,216
Fork
1,811
未关闭 Issue
18
最近提交
11小时前

这是什么?

MobX 是一个用于 JavaScript 和 TypeScript 的状态管理库。把数据声明为可观察的(observable),之后直接用普通赋值修改即可;MobX 在运行时追踪哪些计算和 UI 组件读取了哪些值,只重新执行受影响的部分。

状态可以用普通类或对象配合 makeAutoObservable 来建模,派生值则根据可观察状态自动计算。用 observer 包裹的组件(例如通过 mobx-react-lite 使用的 React 组件)只在其实际读取的字段变化时重新渲染,通常无需手动使用 memo 或 selector 做优化。

MobX 不绑定任何 UI 框架,状态逻辑可以独立于组件存在,便于单独测试。项目文档位于 mobx.js.org。

核心功能

  • 01运行时自动追踪每个计算或组件读取了哪些状态。
  • 02直接使用普通 JavaScript 赋值更新状态,异步代码中同样适用。
  • 03根据可观察状态自动派生计算值,无需手动连接。
  • 04通过 observer 让 React 组件仅在其使用的字段变化时重新渲染。
  • 05不依赖任何 UI 框架,状态逻辑可以独立测试。

适用场景

  • 在 React 前端中以最少样板代码管理共享应用状态。
  • 构建需要在特定字段变化时精确更新的界面状态。
  • 将业务逻辑放在与视图层解耦的普通类中,便于单元测试。

快速上手

  1. 1

    阅读 mobx.js.org 上的文档

  2. 2

    从 npm 安装 mobx 包

    npm install mobx

收录于专题

标签

常见问题

mobx 是什么?
面向 JavaScript 和 TypeScript 应用的简洁、可扩展状态管理库,自动追踪依赖。 MobX 是一个用于 JavaScript 和 TypeScript 的状态管理库。把数据声明为可观察的(observable),之后直接用普通赋值修改即可;MobX 在运行时追踪哪些计算和 UI 组件读取了哪些值,只重新执行受影响的部分。
mobx 可以免费使用吗?用的什么许可证?
mobx 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
mobx 还在维护吗?
活跃维护中。mobx 最近一次提交是在 2026年11月7日。
mobx 适合用来做什么?
在 React 前端中以最少样板代码管理共享应用状态。 构建需要在特定字段变化时精确更新的界面状态。 将业务逻辑放在与视图层解耦的普通类中,便于单元测试。
mobx 怎么安装和运行?
阅读 mobx.js.org 上的文档 从 npm 安装 mobx 包: npm install mobx
在哪里获取 mobx?
源代码和安装说明在 GitHub 上:https://github.com/mobxjs/mobx

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目