Taro 是由京东 - 凹凸实验室打造的一套遵循 React 语法规范的多端统一开发框架。
我试用了有15天左右,总的来说,这是一款优秀的框架,尤其补充了目前市面上无法用 React 开发小程序的需求空缺,所以其优点就不多说了,大家可去其官方查看详细文档
下面说下我的试用感受,希望帮助后面使用Taro的同学少踩一些坑;因为能力有限,可能了解和认识会有一些不到位的地方,还望各路大佬不吝留言赐教
存在的问题
以下,是我在使用Taro过程中遇到的影响开发流程或体验的地方:
- 不支持source map,调试可通过debugger
- 不支持alias,所以项目里会有大片大片的
../../../
,不利于后期维护 - 全局请求的需求,官方未有最佳方案。理应
app.tsx
是最合适的地方,但是该组件的Provider
组件内写的任何组件都会被Taro替换掉。我目前是通过在app.tsx
里通过store.dispatch(action)
发送全局异步请求 - redux/connect方法的
mapStateToProps
缺少第二个参数ownProps
- 组件嵌套时,taro生命周期与react生命周期执行顺序有差异,如图是Taro的生命周期执行顺序,可以看到
componentDidMount
跟React是相反的。 - 不可以使用 ... 拓展操作符给组件传递属性,
<Comp {...props} />
写法错误 - 属性不能传入 JSX 元素,
<Content footer={<View />} />
写法错误
展望
虽然存在以上种种问题,还是要感谢京东前端团队能够开源一款React语法的多端开发框架,让我们React粉儿能够用React开发小程序;以上有些问题我已提了PR,如Q4,并且维护人员很快将PR进行了merge,凹凸团队对这个项目的重视程度和责任心可见一斑,所以我相信,凹凸团队一定可以把Taro不断完善的,加油!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。