ReactNative教程 — Hello React Native

ReactNative教程 — Hello React Native

下载此文件http://blog.csdn.net/vispin/article/details/52981294

前面文章已经介绍过了开发环境的搭建了.

注意: 你的电脑在有网络的情况下使用, 使用离线初始化一个项目不在这个教程范围内,有兴趣可以一起探讨.

现在我们创建我们的一个 React Native 项目.
打开命令窗口: (自己切换到自己的工作空间, 我的工作空间在当前位置下的 WorkSpaces)

cd WorkSpaces
react-native init HelloProject

初始化的之后的等待时候取决于你当前网络的情况.

Android 上运行项目

  • 入门级的同事们电脑都是些老机器,所以在虚拟机上很消耗电脑内存, 建议使用真机进行安装测试.

真机上运行项目

  • 启动JS Server (在项目位置下 ~/WorkSpaces/HelloProject)

    npm start
  • 给 Android 项目打一个缺省的 js 文件(可不做, 此步骤也是更新项目中 js 的一个方式) (在项目位置下 ~/WorkSpaces/HelloProject)

    • 创建缺省文件,(没有缺省文件打 js 文件时会报错)

      • 切换文件夹位置到./android/app/src/main目录下
      • 创建文件夹assets
      • 切换到assets文件夹里面
      • 在文件夹下创建文件 index.android.bundle (注意扩展名也要一起改)
      • 在文件夹下创建文件 index.android.bundle.meta (注意扩展名也要一起改)
    • 运行生成 js 文件命令

      react-native bundle --entry-file index.android.js --bundle-output ./android/app/src/main/assets/index.android.bundle --platform android --assets-dest ./android/app/src/main/res/ --dev false
  • 使用AndroidStudio打开项目文件下的 android 目录 (如果是第一次使用 AndroidStudio 会有一个漫长的过程,因为 gradle 在下载依赖文件)
  • 使用 AndroidStudio 将应用安装到手机上

相关知识介绍

初始化完,打开工作目录下的项目文件夹(~/WorkSpaces/HelloProject)

初始化后项目结构

|- HelloProject | 项目工作空间
    |- android | android 端代码 
        |- app | app 模块
            |- build.gradle | app 模块 Gradle 配置文件
            |- progurad-rules.pro | 混淆配置文件
            |- src/main | 源代码
                |- AndroidManifest.xml | APK 配置信息 
                |- java | 源代码
                    |- 包名 | java 源代码
                        |- MainActivity.java | 界面文件, (加载ReactNative源文件入口)
                        |- MainApplication.java | 应用级上下文, (ReactNative 插件配置)
                |- res | APK 资源文件
        |- gradle | Gradle 版本配置信息
        |- keystores | APK 打包签名文件(如果正式开发需要自己定义修改签名文件)
        |- gradlew | Gradle运行脚本, 与 react-native run-android 有关
        |- gradlew.bat | Gradle运行脚本, 与 react-native run-android 有关
        |- gradle.properties | Gradle 的配置文件, 正常是 AndroidHome, NDK, JDK, 环境变量的配置
        |- build.gradle | Gradle的全局配置文件, 主要是是配置编译 Android 的 Gradle 插件,及配置 Gradle仓库
        |- settings.gradle | Gradle模块配置
    |- ios | iOS 端代码
    |- node_modules | 项目依赖库
    |- package.json | node配置文件, 主是要配置项目的依赖库,
    |- index.android.js | Android 项目启动入口
    |- index.ios.js | iOS 项目启动入口

其他文件夹没详细说明,不在目前介绍范围内.

Android 项目相关的知识不在今天的介绍范围,更多了解需要自己去了解

package.json

{
  "name": "HelloProject",
  "version": "0.0.1",
  "private": true,
  "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "test": "jest" },
  "dependencies": { "react": "15.3.2", "react-native": "0.36.0" },
  "jest": { "preset": "jest-react-native" },
  "devDependencies": { "babel-jest": "16.0.0", "babel-preset-react-native": "1.9.0", "jest": "16.0.2", "jest-react-native": "16.0.0", "react-test-renderer": "15.3.2" } }
dependencies
  • 项目的依赖配置
  • 依赖配置,配置信息配置方式
    • “version” 强制使用特定版本
    • “^version” 兼容版本
    • “git…” 从 git版本控制地址获取依赖版本库
    • “path/path/path” 指定本地位置下的依赖库
    • “latest” 使用最新版本
    • “>version” 会在 npm 库中找最新的版本, 并且大于此版本
    • “>=version” 会在 npm 库中找最新的版本, 并且大于等于此版本
devDependencies
  • 开发版本的依赖库
version
  • js 版本标志
description
  • 项目描述, 主要使用于做第三方支持库时,对库的描述信息
main
  • 项目的缺省入口
engines
  • 配置引擎版本信息, 如 node, npm 的版本依赖

index.*.js

  • 正常只作为项目入口,不做其他业务代码处理

常用控件的使用

AppRegistry

react包

  • Component 控件基类
  • PropTypes Porps 类型用于声明 Componen的 props 值类型 (具体的使用后面会介绍)

react-native 包

  • AppRegistry
    • JS运行所有React Native应用的入口
    • AppRegistry.registerComponent 注册页面, 让原生来调用
  • View
    • 相当于 html 的 div
  • Text
    • 用于介面显示文本
    • 拥有点击事件
    • 子 Text 会集成父Text Style
  • TextInput
    • 文本输入框
  • TouchableOpacity
    • 处理点击事件
  • Image
    • 图片空间

常用 API

  • Alert
  • Dimensions
  • AsyncStorage
  • BackAndroid
  • Clipboard
  • PixelRatio
  • StyleSheet
    • 定义样式

进一步学习的资源

转载于:https://my.oschina.net/vistier/blog/834393

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值