Untracked

Untracked 允许你运行一段代码而不建立观察者。
类似于 transactionuntracked(@)action 自动应用,因此通常使用动作比直接使用 untracked 更有意义。
示例:

  1. const person = observable({
  2. firstName: "Michel",
  3. lastName: "Weststrate"
  4. });
  5. autorun(() => {
  6. console.log(
  7. person.lastName,
  8. ",",
  9. // 这个untracked 块将返回 person 的 firstName 而不建立依赖
  10. untracked(() => person.firstName)
  11. );
  12. });
  13. // 输出: Weststrate, Michel
  14. person.firstName = "G.K.";
  15. // 没有输出!
  16. person.lastName = "Chesterton";
  17. // 输出: Chesterton, G.K.