当函数将从现有信息中"计算"返回值时,将使用
MobX中的@computed
和@action
有什么区别?
它们都是函数,那么它们之间有什么区别呢?
@computed。
@action用于将更改为现有信息(状态(的函数,并提示"观察者"访问相关"可观察对象"的最新版本。
文档中说明了差异。
动作
用法:action(fn(或action(annotation(
用于打算修改状态的函数。
计算
用法:计算的(fn,选项?(或计算的(选项?((注释(
创建从其他可观测值导出的可观测值,但除非有一个潜在的可观测值,否则不会重新计算更改。
所以computed除了观察状态之外什么都不做。代码沙箱
实际操作会修改状态。动作示例