Mobx

提示

Mobx的官方中文文档open in new window。可与此文档open in new window搭配使用!

Mobx是一个简单,可扩展的JavaScript状态管理库,和Redux、Vuex等状态管理库类似。一般会和React一起使用,但并不是必须的,Mobx也可以用到Vue中。

当前,Mobx版本已经更新到了6.*了。从> 6.*开始,Mobx官方不再推荐使用装饰器语法来编写代码,且默认情况下是未开启的。主要原因是装饰器语法还没有被正式纳入ES语法规范,处于提案阶段,不确定性居多,未来可能会有较大改变。(不仅是Mobx,一些其他使用装饰器的库也不再默认推荐使用装饰器)

网上Mobx和Redux争论较多的是Mobx可以多store,但Redux被建议使用单store。Mobx可以使用装饰器语法使代码简洁更易读,少些模板代码且Typescript天生就支持装饰器语法,对类型的提示会更友好,而Redux在同等情况下会编写较多模板代码,而且由于其type通过字符串定义,类型提示支持较弱。

个人认为,以React的函数式编程思想下,使用Redux会更为契合,他们遵循同等编程模式(数据不可变)。而Mobx则是一个响应式状态管理库,理念各不相同。

虽然装饰器语法一直未定案,但我认为它一定是未来的发展主流,当前我们尚可跟随官方的意思,最大程度地使用与标准JavaScript兼容的语法。但亦不能直接放弃学习使用装饰器语法,提前了解学习也对以后有所帮助!

最近更新:
Contributors: untilthecore