当前位置:首页 > 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" }) 强制在动作中修改状态。

分享给朋友:

相关文章

如何使用java

如何使用java

安装Java开发环境 下载并安装Java Development Kit(JDK),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME指向JDK安装路径…

react如何安装

react如何安装

安装React的步骤 确保已安装Node.js(建议版本12或更高),可通过以下命令检查版本: node -v npm -v 使用Create React App快速搭建项目(推荐): npx c…

react如何打包

react如何打包

打包 React 项目的基本步骤 React 项目通常使用 create-react-app 或类似的脚手架工具创建,这些工具内置了打包功能。以下是打包 React 项目的详细方法: 安装依赖并构建…

如何安装react

如何安装react

安装React的方法 方法一:使用Create React App(官方推荐) Create React App是官方提供的脚手架工具,适合快速搭建React项目。确保已安装Node.js(建议版本≥…

react 如何设置 代理

react 如何设置 代理

在 React 中设置代理 在开发过程中,为了跨域请求后端 API,可以通过配置代理来解决。以下是几种常见的设置代理的方法: 使用 package.json 配置代理 在 package.json…

react 如何渲染的

react 如何渲染的

React 渲染机制 React 的渲染过程分为两个主要阶段:协调(Reconciliation)和提交(Commit)。协调阶段负责计算差异(Diffing),提交阶段将变化应用到 DOM。 虚拟…