随着跨平台语言的流行,rn(react native)也越来越火了,为了顺应潮流,于是我开始了我的rn学习之旅。
一、搭建环境
编译环境和运行环境参考官方文档来搭建即可,开发工具我是采用的是webstrom
二、到现阶段产生的坑。
1原生的设置界面我用rn语言来实现了,在此过程中涉及到的坑就是rn与原生交互,在原生模块定义好module,里面包含rn调用原生的方法和原生调用rn中的方法,再packge中进行引用,因为混合开发的app是create出来的,不是init出来的,但是官方推荐的在application中add package是属于init时才采用的,那么现有的情况需要在自己的EntryActivity中进行添加package即可,就不会出现找不到的问题。
2导航栏进行重定向的时候,原生可能多次跳转到原生,那么采用resetAction重新导航来解决跳转两次的问题。
3由于原生和rn交互都是异步的操作,因此在界面渲染的时候,既要考虑到rn的生命周期,以及值的状态,利用state来处理异步显示的问题。
4rn中包含两种context,一种是rn中的context,另外一种是getCurrentActivity(),activity的上下文。
5var是全局的、let是布局的,如果先定义了var a=1;再let a=1;就会报错。这里可以仔细去了解下作用域、var、let的区别和适应范围
6在学习rn中的数据(状态)管理redux时,其中发现欠缺一些js的知识的掌握。
(1)lambda表达式(2)ES6参数默认值语法(3)Object.assign创建副本、pop的使用(改变数组,且返回最后一个数据),Array.prototype.reduce
(4)json.parse():解析成json对象,json.stringify():生成字符串
7下一阶段准备分享网络、正则表达式以及redux的分享