写在前面的话
背景相关:android开发转react-native(简称RN)。随着大前端时代的到来,RN也走进了更多开发者的视线,原生 + RN在以后也将是APP开发的大趋势。以后原生的不会放下,RN也会继续学习。(以前的关于原生的博客也将陆陆续续转移到简书,虽然没多少东西┬─┬ ノ( ' – 'ノ))
学前准备
首先需要配置环境,这里可以参考react-native中文网,里面讲解非常详细,会针对所使用的电脑系统来显示不同的教程。还有江清清的技术专栏同样讲解也很明白。
配置好环境后,运行第一个项目hello world
Hello World!
几乎所有语言开始都是hello world,RN也不例外。
打开项目目录
其中index.android.js就是android端的程序入口,index.ios.js就是ios端的程序入口,可以看到官方给出两个文件内容大体是一样的,这也体现了一点:RN里android和ios的代码复用率基本在80%以上。这大大提高了开发速度。如果对语法不熟悉,建议看看阮一峰老师写的React入门。看完后大体上应该会对RN的语言有一个概念。
现在就来修改下index.android.js
来实现我们的helloworld。
import React,{ Component } from 'react'; import { AppRegistry,StyleSheet,Text,View } from 'react-native'; class HelloWorld extends Component { render() { return ( <View style={styles.container}> <Text style={styles.welcome}> Welcome to React Native! </Text> <Text style={styles.instructions}> To get started,edit index.android.js </Text> <Text style={styles.instructions}> Double tap R on your keyboard to reload,{'\n'} Shake or press menu button for dev menu </Text> </View> ); } } const styles = StyleSheet.create({ container: { flex: 1,justifyContent: 'center',alignItems: 'center',backgroundColor: '#F5FCFF',},welcome: { fontSize: 20,textAlign: 'center',margin: 10,instructions: { textAlign: 'center',color: '#333333',marginBottom: 5,}); AppRegistry.registerComponent('HelloWorld',() => HelloWorld);
这里我们只需修改render()
方法就可以去实现helloword(render就是渲染的意思)
render() { return ( <View style={styles.container}> <Text style={styles.welcome}> HelloWorld! </Text> </View> ); }
render方法里只返回了一个html的片段,一个View里包含一个Text,这就是RN里推荐的写法JSX。style里设置的是界面的样式。这里不明白的可以看一下html+css入门。
当然这只是一个最简单的例子(简直LOW爆了(╯‵□′)╯︵┻━┻),对RN里的组件,属性,状态都没有涉及,这些将会出现在下篇React-Native学习笔记中。
写在后面的话
一些学前准备的汇总:
江清清的技术专栏(React Native专题):http://www.lcode.org/react-na...
阮一峰的React 入门实例教程:http://www.ruanyifeng.com/blo...
阮一峰的《ECMAScript 6入门》:http://es6.ruanyifeng.com/ (es6了解即可)
也是刚开始学习RN,小半个月吧,实现了一两个demo,之后会慢慢的将自己的学习过程写下来,一是帮自己回顾,二是帮助一些想学习RN的朋友。
学习路漫漫,吾将上下而求索。
原文链接:/react/306117.html