官术网_书友最值得收藏!

Quick recap on reactions

MobX offers a couple of ways to execute side-effects, but you have to identify which one fits your needs. Here is a quick round-up that can help you in making the right choice.

We have three ways of running side-effects:

  1. autorun( effect-function: () => {} ): Useful for long-running side-effects. The effect function executes immediately and also anytime the dependent observables (used within it) change. It returns a disposer function that can be used to cancel anytime.
  2. reaction( tracker-function: () => data, effect-function: (data) => {} ): Also for long-running side-effects. It executes the effect function only when the data returned by the tracker function is different. In other words, reaction() waits for a change in the observables before any side-effects are run. It also gives back a disposer function to cancel the effect prematurely.
  1. when( predicate-function: () => boolean, effect-function: () => {} ): Useful for one-off effects. The predicate function is evaluated anytime its dependent observables change. It executes the effect function only when the predicate function returns true. when() automatically disposes itself after running the effect function. There is a special form of when() that only takes in the predicate function and returns a promise. Use it with async-await for a simpler when().
主站蜘蛛池模板: 西充县| 临洮县| 信阳市| 资溪县| 堆龙德庆县| 潜江市| 德令哈市| 木兰县| 郯城县| 临澧县| 巴青县| 波密县| 甘孜| 嘉荫县| 无为县| 深水埗区| 泊头市| 通化县| 玉屏| 新丰县| 三穗县| 长宁县| 永定县| 绥化市| 文水县| 门头沟区| 达日县| 怀集县| 苏尼特左旗| 新晃| 南开区| 蕉岭县| 论坛| 古丈县| 顺义区| 龙游县| 增城市| 宝兴县| 安多县| 融水| 丹东市|