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

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().
主站蜘蛛池模板: 仁寿县| 增城市| 天门市| 安龙县| 湘潭县| 原阳县| 孟州市| 石家庄市| 诸暨市| 额敏县| 夏津县| 吉林省| 临沧市| 昆山市| 平顶山市| 大港区| 京山县| 谢通门县| 北碚区| 溧阳市| 电白县| 扎囊县| 宁夏| 贵港市| 偏关县| 永春县| 德昌县| 静宁县| 涿鹿县| 澎湖县| 香港| 崇礼县| 武强县| 乌苏市| 新平| 敦化市| 东港市| 阿拉善盟| 休宁县| 涡阳县| 盘锦市|