标签: mobx
我纯粹好奇(高级别的解释)mobx.autorun()是如何聪明地浏览它传递的函数以确定访问哪些observable?
答案 0 :(得分:2)
简短的故事是autorun不解析代码寻找用法,而是在第一次运行中记录每个对observable的访问。这就是它必须立即运行的原因。
autorun
它包含了每个observable的getter和setter,以便它可以记录您使用的那些(通过getter)并构建自动运行函数使用的可观察列表。如果它们中的任何一个发生变化(通过设置器),它将检测到并重新运行自动运行功能。