前言
继续这个系列,当初我在开发RN应用时没有好好的对比RN和React的不同,确实导致了一些问题,所以在使用Taro时,先比较一下他们的差异是非常有必要的。
样式
首先是几个不能在小程序端使用的规则:
ID选择器是不准使用的,只能使用类似React中className相同的类选择器;
子类选择器也是不能用的:
View Text {}
即使是这种你觉得理所应当的东西。
属性选择器同样是不行的。
当然,为了各端UI的统一,推荐使用flex布局,毕竟RN端的话,只有flex布局是可以被接受的。
同时,grid布局目前也逐渐火热起来,这里有个网站,可以配合简单的小游戏带你初步入门grid,当然只是简单入门,对于实际开发的帮助并不大,有兴趣可以去看看。
tabBar配置
关于tabBar相关的配置问题,参考了一些相关小程序,很少看见有修改颜色的,大多需要的都是list配置项:
对于list配置,有下配置:
tabBar: {
list: [
{
pagePath: "pages/index/index",
text: "首页"
iconPath: './images/home.png',
selectedIconPath: './images/homeSelected.png',
},
{
pagePath: "pages/test/test",
text: "测试"
iconPath: './images/mine.png',
selectedIconPath: './images/mineSelected.png',
}
]
}
注意,图标地址是不能写网络地址的,也就是说图标图片必须要在项目目录下。
写点别的
关于基于React的小程序框架虽然不如Vue那么多,但是还是有的,之前有alita,可以把RN编译为小程序,但是需要使用它自己的导航模式。
小程序本质上是运行在 webview 上的一个 H5 应用,目前关于解决小程序编写主要有两种方式,分为编译时适配,以及运行时适配,Taro就是典型的编译适配的方式,通过编译成小程序写法,运行在不同的平台上。
而蚂蚁的remax就做到了运行时适配,同时微信开源的kbone也是以运行时适配为目标,支持使用Vue和React两种方式进行编写,国内好像真的看不到NG了。。。
当然前面说过了,使用React解决的方式还比较少,而Vue的解决方案可以说是数不胜数了,无论是mpvue,或者目前最受关注的uni-app等。
使用React和Vue编译为小程序代码的方式总归是比较好的,借助这两个社区无以伦比的繁荣,对小程序开发大有裨益