当前位置:首页 > React

react如何使用mobx

2026-03-31 06:43:03React

使用 MobX 与 React 的步骤

安装依赖
确保项目中已安装 mobxmobx-react(或 mobx-react-lite,适用于函数组件)。通过以下命令安装:

npm install mobx mobx-react
# 或
yarn add mobx mobx-react

创建 Store
定义一个可观察的状态存储(Store),使用 makeObservablemakeAutoObservable 自动装饰字段。

react如何使用mobx

import { makeAutoObservable } from "mobx";

class CounterStore {
  count = 0;

  constructor() {
    makeAutoObservable(this);
  }

  increment() {
    this.count++;
  }

  decrement() {
    this.count--;
  }
}

export const counterStore = new CounterStore();

在组件中使用 Store
通过 observer 包装组件,使其响应状态变化。类组件或函数组件均可使用。

react如何使用mobx

import { observer } from "mobx-react";
import { counterStore } from "./CounterStore";

const Counter = observer(() => {
  return (
    <div>
      <button onClick={() => counterStore.decrement()}>-</button>
      <span>{counterStore.count}</span>
      <button onClick={() => counterStore.increment()}>+</button>
    </div>
  );
});

export default Counter;

依赖注入(可选)
使用 Providerinject(适用于类组件)或 React Context 全局共享 Store。

import { Provider } from "mobx-react";
import { counterStore } from "./CounterStore";

const App = () => {
  return (
    <Provider counterStore={counterStore}>
      <Counter />
    </Provider>
  );
};

处理异步操作
使用 runInAction 确保异步操作后的状态变更是可观察的。

class AsyncStore {
  data = null;
  loading = false;

  constructor() {
    makeAutoObservable(this);
  }

  async fetchData() {
    this.loading = true;
    const response = await fetch("/api/data");
    runInAction(() => {
      this.data = await response.json();
      this.loading = false;
    });
  }
}

注意事项

  • 装饰器语法:若使用 @observable 等装饰器,需配置 Babel 或 TypeScript 支持。
  • 性能优化observer 仅跟踪渲染中使用的状态,避免不必要的重新渲染。
  • 严格模式:通过 configure({ enforceActions: "observed" }) 强制在动作中修改状态。

分享给朋友:

相关文章

react native 如何

react native 如何

React Native 开发基础 React Native 是一个用于构建跨平台移动应用的框架,允许开发者使用 JavaScript 和 React 编写代码,同时生成原生 iOS 和 Androi…

react如何收录

react如何收录

React 收录方法 React 的收录主要涉及搜索引擎优化(SEO)和预渲染技术。由于 React 是单页应用(SPA),默认情况下内容由 JavaScript 动态生成,可能导致搜索引擎爬虫难以收…

react 如何运行

react 如何运行

运行 React 项目的步骤 安装 Node.js 确保系统已安装 Node.js(建议版本 16+),可通过官网下载并安装。安装后验证版本: node -v npm -v 创建 React 项目…

理解如何react

理解如何react

理解React的核心概念 React是一个用于构建用户界面的JavaScript库,专注于通过组件化开发提高代码的可维护性和复用性。其核心思想包括虚拟DOM(Virtual DOM)和单向数据流,能够…

react如何发布

react如何发布

发布React应用的步骤 构建生产版本 使用以下命令生成优化后的生产版本代码,代码会被压缩并移除开发环境中的调试工具: npm run build 构建完成后会生成build文件夹,包含所有静态资源…

react 如何精通

react 如何精通

掌握核心概念 深入理解React的基础概念,包括组件(函数组件与类组件)、状态(useState)、生命周期(useEffect)、Props传递、虚拟DOM与Diff算法。通过官方文档或《React…