MobX+React.有人能展示一些关于自动运行、拦截和观察的真正有用的案例吗



我在近半年的项目中使用MobX+Rreact。我们只使用@observer,@computed,reaction,有时当

有人能展示出使用autorun、interceptor和observe的真正有用的案例吗?

autorun

由于您使用的是react(或任何其他具有mobx绑定的框架(,因此没有使用autorun的实际情况。当您使用reactjs时,您将组件封装在observer中,以便它们自动连接以响应(render(mobx可观察性。但是,如果您使用的是vanilla-js,那么autorun是必不可少的,因为它使您能够对mobx的更改做出反应。如果你查看autorun的文档,你会发现所有的例子都是vanilla-js。

observe

它是一个强大的低级功能,使您能够监视observables实际发生的情况。因此,假设在Array的情况下,您可以观察阵列发生的更改,这样就可以准确地通知您更改了什么。例如,可以通知您添加了的确切值,在索引处。使用常规数组无法做到这一点,但由于mobx使用代理包装所有内容,您可能会说此函数位于代理和真实数组之间,并监视代理(mobx(如何修改数组。文档中的更多信息-观察

intercept

它是一个类似于observe的函数,你可能会想到位于observe函数上方的函数,它有机会改变mobx试图分配给可观测值的值。因此,如果你有person.job对象和属性,你可以在person.job上设置intercept,你将有机会修改应该分配给person.job的值,并且在mobx通知所有人该更改之前。因此,在person.job的情况下,您只能强制使用pilotsailor值,并添加其他值。文档中的更多信息-拦截

最新更新