Alita在处理React语法的时候,采用了一种运行时处理JSX的技术,相对于社区现有的编译时方案,在JSX语法的支持上更加完备,关于运行时处理JSX的原理,详情请看。html
自1.0.0
发布以来,咱们收到了不少对于Mobx
的支持的需求,另外Alita
初始版本并不支持 watch
模式(因为内部和外部使用Alita的方式不一样),这致使了每修改一个文件,须要看小程序效果的时候都须要从新执行一下alita
命令,开发调试起来很不方便。 因此咱们在这个版本里面,主要作了两件事情:Mobx
支持,watch
模式前端
Mobx
自己并不和React
绑定,能够用于任何前端框架。可是它和React
的配合,能够方便的进行React
应用的数据管理,Alita
这个版本主要支持了Mobx
的使用,得益于Alita
运行时架构的设计,Alita
存在一个嵌入式的mini-react
,因此只需把Mobx
和内嵌的mini-react
正确链接起来,在Alita
上Mobx
应该就能够正常的使用。 react
参考mobx-react
而且结合mini-react
暴露的API,咱们在微信小程序端适配了一个wx-mobx-react
。 Alita转化完你的RN应用以后,会自动在小程序端把mobx-react
切换为wx-mobx-react
。git
在支持mobx的过程当中,咱们还有了另外的收获,当咱们设置多个observable
的值时候,mobx-react
会经过unstable_batchedUpdates
接口批量更新,据此Alita也对外提供了unstable_batchedUpdates
接口,和React同样这个接口会合并屡次setState
,对应提高应用的性能颇有帮助。github
另外新版本以后Alita
生成的js
代码可读性会减低,以前Alita
会生成ES6
的代码,而后经过微信小程序自带的功能把ES6
转化为ES5
,可是微信小程序的转化并不支持decorators
(这个特性对于Mobx
十分重要),因此如今Alita
会经过babel
直接生成ES5的代码。redux
详细文档请看:支持mobx。小程序
咱们还提供了一个实际的用Mobx构建的Demo微信小程序
为了简化开发调试的过程,Alita
新增了 watch
功能,只须要在执行alita
命令的时候,添加--watch
参数便可。将来咱们也将不断提高 Alita
的开发调试体验。前端框架
forceUpdate API
unstable_batchedUpdates
批量更新接口Provider
, 方便redux
, Mobx
的store
注入react-redux
从新实现 alita redux
连接库decorators
转化支持--comp
命令行参数,适用于只转化RN组件,而不是整个项目的场景