1.mobx:状态管理工具
用法场景:
1.交互的数据不需要使用setState来改变;
2.跨组件交互
对什么做出反应:
MobX基本上做的是记录你在函数中使用的是哪个箭头。之后,只要这些箭头中的其中一个改变了(它们开始引用别的东西了),它就会重新运行。
mobx常用的标签
@observable: 使用此标签监控要检测的数据;
@observer: 使用此标签监控当数据变化是要更新的Component(组件类)
@computed:可以根据现有的状态或其它计算值衍生出的值
@autorun:会根据观察对象observable产生一个回调函数,使用频率低于computed;
@action:使用此标签监控数据改变的自定义方法(当在需要数据改变的时候执行此自定义方法,那么View层也会跟着自动变化,默认此View层已经使用@observer标签监控)
区别computed和autorun:
它们都是响应式调用的表达式,但是,如果你想响应式的产生一个可以被其它 observer 使用的值,请使用 @computed,如果你不想产生一个新值,而想要达到一个效果,请使用 autorun。 举例来说,效果是像打印日志、发起网络请求等这样命令式的副作用。