React Native

介绍

React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是React 在原生移动应用平台的衍生产物,使用JS、JSX、CSS开发原生应用,目前支持iOS和安卓两大平台。

官网地址:https://reactnative.cn/docs/getting-started.html

环境安装

以windows+Android平台来安装React Native环境

  • Nodejs

Node 的版本必须大于等于 v10.x

  • React Native命令行工具

全局安装react-native-cli

    npm install -g react-native-cli
  • python

Python 的版本必须为 2.x(不支持 3.x)

  • JDK(Java SE Development Kit )

JDK 的版本必须是 1.8(目前不支持 1.9 及更高版本)

  • Android Studio

    安装 Android Studio 来获得编译 Android 应用所需的工具和环境

    • 安装 Android SDK

      • SDK Manager -> "SDK Platforms" -> "Show Package Details"

        • -> Android SDK Platform 28

        • -> Intel x86 Atom_64 System Image

      • SDK Manager -> "SDK Tools"

        • -> 28.0.3(React Native 所必须的版本)

    • 配置环境变量

      设置ANDROID_HOME系统变量c:\Users\你的用户名\AppData\Local\Android\Sdk

      设置%ANDROID_HOME%\platform-tools到path

PS:安装以上工具尽量使用稳定的FQ工具,否则在下载、安装、配置过程中会不断遭遇链接超时或断开,导致无法安装的情况

开始一个项目

  1. 创建新项目

    react-native init myRN
  1. 编译并运行

注意第一次运行时需要下载大量编译依赖,耗时可能数十分钟 需打开USB调试允许安装未知方源

    # 以下命令检测设备连接状态(包括模拟器)
   # adb devices

   # android
  react-native run-android

   # iOS
  react-native run-ios
  1. 调试与热更新

摇一摇手机(或在命令行运行:adb shell input keyevent 82),打开Enable Hot ReloadingEnable Live Reload

使用

React Native 看起来很像 React,只不过其基础组件是原生组件而非 web 组件

内置组件

详情请查看官网 https://facebook.github.io/react-native/

API

详情请查看官网 https://facebook.github.io/react-native/

ReactNative UI框架

react-native-elements

  1. 安装react-native-elements

    # yarn
  yarn add react-native-elements

   # npm
   npm i react-native-elements --save
  1. 安装react-native-vector-icons

    yarn add react-native-vector-icons

   # npm
   npm i --save react-native-vector-icon
  1. 关联原生库

    react-native link react-native-vector-icons
  1. 使用

    import {Button,SearchBar} from 'react-native-elements';

   class MyComponent extends Component{
       state = {
           keyword:'',
      }
       changeKeyword=(keyword)=>{
           this.setState({
               keyword
          })
      }
       render(){
           return <View>
               <SearchBar
                   placeholder="Type Here..."
                   onChangeText={this.changeKeyword}
                   value={this.state.keyword}
               />
               <Button title="搜索"></Button>
           </View>
      }
  }

PS: android中如无法看到小图标,需要在android/app/build.gradle中添加字体图标apply from: "../../node_modules/react-native-vector-icons/fonts.gradle"

打包

  • android APK

    1. 生成一个签名密钥

        keytool -genkeypair -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
    1. 设置 gradle 变量

    2. 把签名配置加入到项目的 gradle 配置中

    3. 打包

        # 进入android目录
      ./gradlew assembleRelease

安装一下步骤:

  android-studio-ide-183.5522156-windows.exe

  python-2.7.16.amd64.msi

  jdk8x64

  环境安装;

  开始创建一个项目

    

reactnative安装的更多相关文章

  1. React-Native安装使用

    先附上React-Native官方文档中文版:http://wiki.jikexueyuan.com/project/react-native/getting-started.html 好,接下来我们 ...

  2. react-native安装react-navigation后出现package-lock.json文件的坑

    npm5.0开始安装后回生成一个新的package-lock.json文件.以致初始化好的react-native项目引入的依赖被删除. 目前解决办法.使用facebook的yarn add 第三方组 ...

  3. ReactNative安装配置

    1.安装jdk1.8,配置好path, javac,java -version 2.安装设置Android sdk a. 解压:D:\www\sdk\adt-bundle-windows-x86_64 ...

  4. ubuntu 12.04 react-native 安装

    1.安装nodejs 和npm apt-get install nodejs apt-get install npm 2. 升级node js 和npm sudo npm cache clean -f ...

  5. Reactnative——安装React Navigation后无法运行项目

    运行 npm install --save react-navigation 后,运行 react-native run-android 报 解决方法: 1.react-native init Nav ...

  6. React-Native 安装改变镜像

    3.安装完node后建议设置npm镜像以加速后面的过程,否则后面插件安装巨慢 npm config set registry https://registry.npm.taobao.org --glo ...

  7. react-native 安装的时候遇到的问题

    JAVA  JDK必须要版本8以上(卡了我好大一会,不要忘了环境变量换成8的路径) 这个报错是因为我的版本没升级? 总之解决方法如下 给升级下就好啦~ 然后出现个这么个问题,是因为我用的测试手机是红米 ...

  8. react-native学习笔记--首次安装apk到小米5报错

    本文直接引用大神文档: [WINDOWS环境 React Native初识]com.android.ddmlib.InstallException: Failed to establish sessi ...

  9. ios模拟器安装.app

    相对于xcode的run,然后再在安装到模拟器上测试,如果是个人开发的话,那还好. 要是是团队开发,那每次其他的童鞋就都需要update最新的文件下来再编译运行了. 而且,一些测试的童鞋也不会打开xc ...

  10. React-Native 开发(一) Android环境部署,Hello react-native

    前提: 一个小web前端,完全不会android 跟iOS 的开发,首次接触,有很多不懂的问题.请见谅 环境: win7 成果:                           一.SDK安装 提 ...

随机推荐

  1. Linux 扩容 / 根分区(LVM+非LVM)

    目录: 1,概述 2,CentOS7,LVM根分区扩容步骤 3,CentOS7,非LVM根分区扩容步骤: 一.背景,概述 MBR(Master Boot Record)(主引导记录)和GPT(GUID ...

  2. 监控本机环境生成SQL脚本

    在开发工作中我们客户端连接 测试服务器开发工作,往往很多人操作数据库,如何甄别出自己操作 方法一: 在程序配置节点设置App节点,譬如: <add name="ModelEntitie ...

  3. csr_matrix与ndarray类型互转

    ndarry 转 csr_matrix>>> import numpy as np>>> import scipy.sparse >>> my_m ...

  4. 超2T硬盘使用gpt分区及做成lvm

    1.超过2T分区不能用fdisk了,用parted 分区格式化后对新的分区做lvm

  5. sap IUT240 Contract Accounts Receivable and Payable pdf

    sap IUT240 Contract Accounts Receivable and Payable  pdf sap IUT240 Contract Accounts Receivable and ...

  6. 1140. 石子游戏 II (Medium)

    问题描述 1140. 石子游戏 II (Medium) 爱丽丝和鲍勃继续他们的石子游戏.许多堆石子 排成一行,每堆都有正整数颗石子 piles[i].游戏以谁手中的石子最多来决出胜负. 爱丽丝和鲍勃轮 ...

  7. 方法综合练习:out、params、ref

    using System; namespace ConsoleApp1 { class Program { /// <summary> /// 求两个参数之间的最大值 /// </s ...

  8. java中的批量导入,批量更新数据

    批量插入 数据,提高效率 Dao层 int insertBatch(List<HealthImport> list); xml文件 <insert id="insertBa ...

  9. Liunx 日志检索 grep -v -a awk

    grep -5 'parttern' inputfile.log //打印匹配行的前后5行   grep -C 5 'parttern' inputfile.log //打印匹配行的前后5行   gr ...

  10. “Can't open file for writing”或“operation not permitted”的解决办法

    linux使用vi命令修改一个文件内容的时候,发现无法保存,每次写完使用":q!"命令可以正常退出但是使用":wq!"命令保存文件并退出时出现一下信息提示:   ...