981377660LMT / ts

ts学习
6 stars 1 forks source link

mobx 的 reaction 何时执行 #469

Open 981377660LMT opened 6 months ago

981377660LMT commented 6 months ago

MobX 的 reaction 函数会在以下两种情况下执行:

当创建 reaction 时,如果提供的第三个参数 fireImmediately 为 true,则 reaction 会立即执行一次。

当 reaction 函数的第一个参数(数据函数)返回的数据发生变化时,会触发 reaction 执行。这个数据函数返回的数据必须是可观察的(observable),例如来自 observable 或 computed 的数据。

需要注意的是,reaction 只有在数据函数返回的数据真正发生变化时才会执行,如果数据虽然发生了变动,但是与上一次的值相同,那么 reaction 不会执行。

981377660LMT commented 6 months ago

reaction 的依赖中必须要有 observable,否则无法正常更新