【问题标题】:What's the difference between @computed and @action in MobX?MobX 中的@computed 和@action 有什么区别?
【发布时间】:2021-03-07 05:57:14
【问题描述】:

在 MobX 中 @computed@action 有什么区别?

它们都是函数,那么它们有什么区别呢?

【问题讨论】:

    标签: reactjs mobx mobx-react mobx-react-lite


    【解决方案1】:

    区别在documentation中说明。

    动作

    用法:动作(fn)或动作(注解)

    用于打算修改状态的函数。

    计算

    用法:computed(fn, options?) 或 computed(options?)(注解)

    创建一个从其他可观察值派生的可观察值, 但不会重新计算,除非基础可观察对象之一 变化。

    所以计算除了观察状态之外什么都不做。 codesandbox

    action实际上是修改状态。 action example

    【讨论】:

      【解决方案2】:

      @computed 在函数将从现有信息中“计算”返回值时使用。

      @action 用于将更改为现有信息(状态)的函数,并提示“观察者”访问相关“可观察对象”的最新版本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-20
        • 1970-01-01
        • 2019-06-20
        • 2022-11-29
        • 1970-01-01
        • 2012-02-08
        相关资源
        最近更新 更多