RN基本配置

我们如果想要用RN初始化项目的话,我们需要在终端中先进入我们希望进入的文件夹,然后再进入其中进行输入,注意项目名称不要使用中文,这样就会进行初始化,初始化其实就是去网上进行下载。

react-native init 项目名称

下载过来的项目结果如下所示,原本 以前是 index.android.js 和 index.ios.js 文件 而现在改成了 index.js 和 app.js了,其实app.js就是一个普通的JS 文件,它是导入到index.js 文件里面的,index.js 是入口文件

点击进入ios的文件夹我们就可以去运行里面的程序,运行起来的结果后如下所示,终端会被自动打开,其实就是运行了个本机的服务器只是下面其实一开始不是显示,我进行了修改。我们如果也可以自己去打开服务器,这样运行项目的时候就不会自动的去打开一个终端了。但是首先要在本项目的文件夹下面去使用react-native start就可以打开了

那么在哪里可以进行修改其实就是在它里面带的App.js文件里面进行修改,修改成了下面的样子

在最开始的app.js文件的其实是这样子的代码,第一个import其实就是去引入的是Component也就是说导入了抽象化组件,第二个import是引入ReactNative的具体组件。在RN中其实都是面向组件进行开发的。

import React, { Component } from 'react';
import {
  Platform,
  StyleSheet,
  Text,
  View,
    Image,
    TextInput
} from 'react-native';
//这里就是根据平台来选择文字是什么
const instructions = Platform.select({
  ios: 'Press Cmd+R to reload,\n' +
    'Cmd+D or shake for dev menu',
  android: 'Double tap R on your keyboard to reload,\n' +
    'Shake or press menu button for dev menu',
});
//export default关键字,来导出默认的组件,现在就是先注册了app这个类,然后导出组件
export default class App extends Component<{}> {
//对于render方法我们可以想成是ios中的viewDidLoad方法  
render() {
 //return是返回具体的内容,这里需要注意的是在view里面是不能直接放内容的
 return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
         哈哈哈
        </Text>
        <Text style={styles.instructions}>
          To get started, edit App.js
        </Text>
        <Text style={styles.instructions}>
          {instructions}
        </Text>
      </View>
    );
  }
}
//创建样式表,里面放着各种样式和CSS类似
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,
  },
});
之后我们再去看看index.js文件中,这里面就是先去导入AppRegistry的内置模块,然后之后去使用registerComponent去注册应用,这里就是把Demo这个控件整体去注册一次,而不是每个组件/模块都去注册

import { AppRegistry } from 'react-native';
import App from './App';

AppRegistry.registerComponent('Demo', () => App);

在这里再简单的介绍下JSX,其实JSX就是Javascript和XML结合的一种格式。React发明了JSX,利用HTML语法来创建虚拟DOM。当遇到了<,JSX就会当成是HTML解析,遇到{就当成是JavaScript解析,JSX最最后的时候都会被转换为javaScript,在React中被大量使用,React 其实就是一个用于构建用户界面的javaScript的库,React通过对DOM的模拟,最大限度地减少与DOM的交互,其实就是通过DOM diff算法,只会更新有差异化的部分,不用渲染整个页面,从而提高效率。我们在上面使用到的就是JSX的语法。


我们应该如何去查看我们当前的使用的React Native的版本

我们可以在终端进入到我们的项目中,然后输入react-native -v,会得到如下图所示的结果


当然我们也可以直接在下面进行的package.json文件中去查看,这里是我已经回退到了0.51的版本了


如果我们要去更新版本的话就要去使用npm update -g react-native,其中npm的全称是Node Package Manager。

如果我们要去查询网上的RN的最新版本要去使用npm info react-native。

升级或者降级RN的版本就使用npm install --save react-native@0.XX.X

关于npm,npm其实是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题。

允许用户从NPM服务器下载别人编写的第三方包到本地使用。
允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值