学习RN有了一段时间了,但是公司项目用不到,只能自己时不时的回顾下,不至于忘记这个跨平台开发,尽管现在flutter也发布了版本,但很有很多地方需要提升,等后面谷歌优化了flutter之后再考虑学习。下面是关于RN知识等回顾:
1、通过终端进入想要创建项目的文件夹。比如 cd Desktop/ 将项目放到桌面。
2、使用命令创建项目,react-native init ReactApp --version 0.44.3 ,其中,ReactApp代表项目名称 ,--version 0.44.3代表创建此项目的ReactNative的版本,因为ReactNative版本在不停的更新,我们需要统一一个版本开发,而我们如果不加--version,默认创建的版本是通过最新的版本去创建。
3、创建完项目,通过cd ReactApp 进入项目里,通过react-native run-ios --simulator="iPhone 6s"运行该demo,或者直接打开Xcode运行,可以达到同样的效果。--simulator的目的也是选择想运行的模拟器,默认使用的iPhone 6模拟器。
下面,来看下代码部分
通过VSCode打开index.ios.js可以看到里面包含了四个部分:
1、引入的头文件:常用的js来自react、常用的视图来自react-native
2、创建的类:这里需要说明的一点就是default,如果添加了default,则我们可以自定义类名,不一定需要和文件名一样,如果不添加default,则需要和文件名相同,另外,一个文件里只能存在一个default的类,但是可以存在多个类。
3、定义的样式:样式的定义我们可以在创建组件的时候定义,也可以统一定义,这里就不展开说明了(不熟悉的童鞋可以去看下CSS的写法)。
4、注册项目入口(组件):AppRegistry.registerComponent('ReactApp', () => ReplaceWord);这里我是通过文件名来创建项目的入口的。注册组件可以通过index.ios.js里的类名,即AppRegistry.registerComponent('ReactApp', () => ReactApp);也可以通过自己创建的js文件名,前提是需要通过import引入该文件。
在学习此demo的过程中,遇到了不少问题,比如()=>代表什么意思?里面的代码该如何写?为什么网上找的demo和创建的demo不一样等等。这些其实都可以看下阮老师整理的文章,很多是ES5和ES6的区别。React/React Native 的ES5 ES6写法对照表
学习RN的时候,需要先去熟悉下HTML、CSS、JS这些的基础知识,这样,在看代码的时候才不至于吃力。推荐去HTML/CSS/JS基础知识学习。