ReactNative
这不是一篇关于叫你如何使用 react-native 的文章,学习react-native的资源网上都有,推荐从官方英文文档入手。因为我本身有一些前端的基础,再加上在iOS客户端也有一定的经验,所以跟着文档开始相对来说比较顺的。
对于RN的基础部分需要掌握 react,jsx 语法,会使用 Flexbox 布局,熟悉RN一些基础组件的使用,比如ListView,ScrollView等等。
进阶部分需要知道 js 如何与 native platform 通信,使用导航器跳转页面,动画等等。
高级部分需要会在RN中使用原生模块,编写原生UI组件来扩展RN组件,在复杂的应用中如何结合redux管理数据流等等。
以上这些在文档中基本都有介绍。
然后谈谈我在使用RN之后的几点感受:
现在用 RN 来开发 App 在体验和性能上应该是没问题的,但需要解决的问题还不少。
比如
react-native init
出来的项目,开发中怎么解决刷新的问题,每次改一点UI,刷新一下又得回到首页::>_<::。如何拆分bundle?将
main.jsbundle
分开为common.bundle
和business.bundle
,不能像 webpack 一样,想要做个性化的配置很麻烦,看知乎专栏上携程是如何做React Native优化的 这篇文章,自己暂时还无法消化。还有热更新问题,也看了很多文章,像58,去哪儿,携程都有自己的一套方案。服务器做好diff,然后在客户端合并,具体实现还得仔细推敲啊。
RN的页面跳转(比如说使用react-navigation)都是在同一个 UIViewController 容器里进行的,也就是说每 push 一个页面都叠加中同一个 UIViewController 中,感觉这很不原生啊……。好像Wix团队的react-native-navigation解决了这个问题。