# Mobx Strict Mode

> 为 MobX 强制执行严格模式以获得更好的调试体验

- Skill: `liaosw97/mobx-strict-mode` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add liaosw97/mobx-strict-mode`
- Raw SKILL.md: https://api.skillmd.com/api/skills/liaosw97/mobx-strict-mode/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: liaosw97 (https://skillmd.com/u/liaosw97)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/liaosw97/mobx-strict-mode

---


- **为 MobX 实现严格模式以获得更好的调试体验**：
  - **什么是严格模式**：
    - MobX 的严格模式（Strict Mode）是一种开发辅助功能，它强制所有状态修改都必须通过 `action` 进行。这意味着你不能在 `action` 之外直接修改任何可观察状态。
    - 启用严格模式有助于在开发阶段捕获意外的状态修改，从而避免难以调试的 bug。
  - **如何启用**：
    - 在应用程序的入口文件或 MobX store 的初始化阶段，使用 `configure` 函数来启用严格模式。
    - 示例：
      ```typescript
      import { configure } from 'mobx';

      // 仅在开发环境启用严格模式
      if (process.env.NODE_ENV === 'development') {
        configure({
          enforceActions: 'always',
        });
      }
      ```
    - `enforceActions` 的可选值：
      - `'never'` (默认)：允许在任何地方修改状态。
      - `'observed'`：只允许在 `action` 中修改被 MobX 观察到的状态。
      - `'always'`：强制所有状态修改都必须在 `action` 中进行，这是最严格的模式，推荐在开发环境使用。
  - **优点**：
    - **早期错误检测**：在开发阶段就能发现并修复不规范的状态修改，避免潜在的运行时问题。
    - **清晰的数据流**：强制通过 `action` 修改状态，使得应用程序的数据流更加清晰和可预测。
    - **更好的调试体验**：当状态修改不符合规则时，MobX 会抛出错误，帮助开发者快速定位问题。
  - **注意事项**：
    - 严格模式主要用于开发环境，不建议在生产环境中使用，因为它会增加一些运行时开销。
    - 确保所有状态修改都包裹在 `action` 中，包括异步操作中的状态更新。

