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. CUDA的新功能

    CUDA 9: 配合Volta架构推出: 1. 新的多线程编程范式.Cooperative Groups 2. 优化算法库 CUDA10: 配合Turing架构推出. 1. 新增了对TensorCor ...

  2. linux 安装ssl 失败原因

    配置文件成功的情况下打不开:开放端口 设置端口 server { listen 443 default ssl; //需要加不然会显示404 default ssl server_name 域名; s ...

  3. JS学习-Web Worker

    Web Worker 在专用workers的情况下,DedicatedWorkerGlobalScope 对象代表了worker的上下文(专用workers是指标准worker仅在单一脚本中被使用:共 ...

  4. oracle 数据库备份脚本(数据泵1-全库)

    #!/bin/sh# ################################################################### Powered by Ironfo# ## ...

  5. JS数组的交集与差集

    有两个数组arr1,arr2 实现arr2中去除arr1相同的元素 e.g arr1=[1,2,3] arr2=[2,3,4] ===> result = [4] 实现 获取两个数组(arr1, ...

  6. deployment.yml参考

    apiVersion: apps/v1kind: Deploymentmetadata: labels: com.xx.service: xxxxxxxxxxxxx name: xxxxxxxxxxx ...

  7. Qframework UIKit

    用QFramework的UIKit 功能很容易实现UI模块的MVC功能,但MVC模式构造起来还是会有些繁琐, 两个相互直接的UIElement 之间的一些数据传输和调用都要用Msg通过UIPanel ...

  8. JS篇(002)-JavaScript 中如何检测一个变量是一个 String 类型?

    答案:三种方法(typeof.constructor.Object.prototype.toString.call()) 解析: ①typeof typeof('123') === "str ...

  9. jemeter批量测试

    一.使用badboy录制脚本 1.下载安装badboy(参看:https://blog.csdn.net/qq_36396763/article/details/78803381),成功标志如下: 2 ...

  10. 拓展django-haystack全文检索的样式和搜索频率限制

    一.样式: django-haystack在utils模块中封装了HighHighlighter用于配置搜索结果的样式展示.想要更改结果的样式,可以写个子类重写相应的方法达到效果 1.关键字高亮: H ...