当前位置:首页 > React

react mobx 如何调用计算值

2026-01-25 22:26:45React

调用 MobX 计算值的方法

在 React 中使用 MobX 时,计算值(computed)是通过派生状态自动生成的。以下是调用计算值的具体方法:

使用 @computed 装饰器定义计算值

在 MobX 的类或对象中,通过 @computed 装饰器定义计算属性。计算值会根据依赖的 observable 状态自动缓存并更新。

import { observable, computed } from "mobx";

class Store {
  @observable price = 10;
  @observable quantity = 2;

  @computed get total() {
    return this.price * this.quantity;
  }
}

在 React 组件中访问计算值

通过 observer 包装的 React 组件会自动监听计算值的变化,并在依赖的 observable 状态变化时重新渲染。

import { observer } from "mobx-react-lite";

const Cart = observer(({ store }) => {
  return <div>Total: {store.total}</div>;
});

直接调用计算值

计算值可以像普通属性一样直接访问,无需额外调用方法。MobX 会自动处理缓存和更新逻辑。

const store = new Store();
console.log(store.total); // 输出 20

动态依赖的计算值

计算值会动态跟踪其依赖的 observable 状态。如果依赖变化,计算值会在下次访问时重新计算。

react mobx 如何调用计算值

store.price = 15;
console.log(store.total); // 输出 30(自动重新计算)

注意事项

  • 计算值应保持纯函数特性,避免副作用。
  • 避免在计算值中修改其他 observable 状态,这可能导致无限循环。
  • 计算值的缓存机制依赖于访问时的依赖状态,频繁变化的依赖可能影响性能。

通过以上方式,可以高效地在 React 和 MobX 中定义和使用计算值,实现派生状态的自动化管理。

标签: reactmobx
分享给朋友:

相关文章

react如何衰减

react如何衰减

React 中的动画衰减效果实现 在 React 中实现衰减效果(如滚动衰减、拖动释放后的惯性滑动)通常需要结合物理动画原理或第三方动画库。以下是几种常见方法: 使用 CSS 动画和 @keyfra…

react如何读

react如何读

React 的发音 React 的发音为 /riˈækt/(音标),读作“瑞-艾克特”。其中: “Re” 发音类似英文单词 “read” 的开头部分。 “act” 发音与英文单词 “act” 一致。…

react如何拓展

react如何拓展

React 拓展方法 使用高阶组件(HOC) 高阶组件是一种复用组件逻辑的方式,通过接收一个组件并返回一个新组件实现功能拓展。例如,为组件添加日志功能: function withLogging…

react 如何循环

react 如何循环

循环渲染列表 在React中,循环渲染列表通常使用map方法。map可以遍历数组并返回一个新的React元素数组。 const items = ['Apple', 'Banana', 'Orange…

vscode如何配置react

vscode如何配置react

配置 VSCode 进行 React 开发 安装必要插件 ES7+ React/Redux/React-Native snippets:提供 React 代码片段快速生成功能。 Prettier -…

react如何添加图片

react如何添加图片

在React中添加图片的方法 使用import导入本地图片 将图片文件放在项目目录中(如src/assets),通过import语句引入后作为src属性值: import logo from './…