MobX 中的@computed和@action有什么区别?



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

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

当函数将从现有信息中"计算"返回值时,将使用

@computed

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

文档中说明了差异。

动作

用法:action(fn(或action(annotation(

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

计算

用法:计算的(fn,选项?(或计算的(选项?((注释(

创建从其他可观测值导出的可观测值,但除非有一个潜在的可观测值,否则不会重新计算更改。

所以computed除了观察状态之外什么都不做。代码沙箱

实际操作会修改状态。动作示例

最新更新