【发布时间】:2021-03-07 05:57:14
【问题描述】:
在 MobX 中 @computed 和 @action 有什么区别?
它们都是函数,那么它们有什么区别呢?
【问题讨论】:
标签: reactjs mobx mobx-react mobx-react-lite
在 MobX 中 @computed 和 @action 有什么区别?
它们都是函数,那么它们有什么区别呢?
【问题讨论】:
标签: reactjs mobx mobx-react mobx-react-lite
区别在documentation中说明。
动作
用法:动作(fn)或动作(注解)
用于打算修改状态的函数。
计算
用法:computed(fn, options?) 或 computed(options?)(注解)
创建一个从其他可观察值派生的可观察值, 但不会重新计算,除非基础可观察对象之一 变化。
所以计算除了观察状态之外什么都不做。 codesandbox
action实际上是修改状态。 action example
【讨论】:
@computed 在函数将从现有信息中“计算”返回值时使用。
@action 用于将更改为现有信息(状态)的函数,并提示“观察者”访问相关“可观察对象”的最新版本。
【讨论】: