前言
- 最近玩了玩taro,我听说这种类似对标uniapp的坑特别多,后来各种搜索发现用react的还是选taro比较靠谱,因为用的人多,就算踩坑,踩的也是明坑。而像rax那些用的人少,万一遇见坑,那肯定是暗坑了。
快速上手
- 直接安装taro脚手架,这个脚手架做的还是相当6的,基本上功能都全了。然后通过taro init初始化项目。
- 听说taro已经支持hooks写法,于是我稍微试了下几个常用hook,基本没啥问题。就是setState时候建议一次更新完,因为他的setState不会合并更新,并且编译出的h5也不会合并更新。
- taro官网也整了redux使用,照着说明配也ok。
- 值得说的就是sitemap的问题。
- 官方模板拉下来编译后会有找不到sitemap的问题。这时一般是把根目录下的project.config.json中的settings里有个 "useCompilerModule"写成true就行了。另外种解决方法就是使用config里的copy,应该用的是webpack-copy-plugin,整个sidemap.json,然后编译时候复制到根目录即可。
- 关于单位,taro官方建议使用px,我也感觉用px会好点,否则屏幕越大东西越大,看着反而跟玩具一样。
多端开发与调试
- 由于模板上还没有变,所以需要改一下设置,output处用变量即可生成各种端目录,从而一起调试:
outputRoot: `dist/${process.env.TARO_ENV}`,
- 多端代码适配也是看这个环境变量,taro还有额外的文件名适配规则,具体可以看:http://taro-docs.jd.com/taro/docs/envs
路由功能
// 跳转到目的页面,打开新页面
Taro.navigateTo({
url: '/pages/page/path/name'
})
// 跳转到目的页面,在当前页面打开
Taro.redirectTo({
url: '/pages/page/path/name'
})
Taro.switchTab(option)
- 具体参考taro官网api : http://taro-docs.jd.com/taro/docs/apis/route/switchTab