热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

快速学习RN之环境搭建和跑demo(一)

RN即ReactNative基于React框架针对移动端的跨平台框架,在学习RN前建议最好熟悉下html,css,js,当然如果比较急,那就直接上手吧,毕竟用学习前面基础的时间,R

RN即React Native 基于React框架针对移动端的跨平台框架,在学习RN前建议最好熟悉下html,css,js,当然如果比较急,那就直接上手吧,毕竟用学习前面基础的时间,RN也差不多了解了,下面的环境搭建是基于Windows系统,本身做安卓开发,安卓环境就不说了.

安装node.js

选择稳定版并配置好环境变量 命令窗口看到版本号了就ok

Microsoft Windows [版本 10.0.17134.345]
(c) 2018 Microsoft Corporation。保留所有权利。C:\Users\JIngYuchun>npm -v
6.4.1
C:\Users\JIngYuchun>

安装Python2

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

设置npm镜像地址,方便后面更快安装依赖

npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global

使用yarn替代npm速度更快

安装yarn

npm install -g yarn react-native-cli

设置yarn镜像地址

yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global

后面用yarn代替npm install命令,就使用yarn add 某第三方库名代替npm install 某第三方库名

配置安卓开发环境
  • 下载android studio最新稳定版目前是3.2
  • 下载jdk 1.8版本
  • 配置sdk环境变量
  • 配置jdk环境变量
下载编辑器VSCode

安装常用的必备插件

  • Auto Close Tag
  • Auto Rename Tag
  • Debugger for Chrome
  • Eslint
  • HTML CSS Support
  • Open in Browser
  • React Native Tools
  • vscode-icons
  • ...

初始化一个RN工程 AwesomeProject(你的工程名字)

react-native init AwesomeProject

使用VSCode编辑器打开工程文件夹

在VSCode 快捷键 Ctrl+~ 开启命令终端 其他终端都可以

//安装所需要的依赖库 成功后会出现一个node_moudles文件夹
yarn install
//构建运行应用(也是用gradle构建)
react-native run-android

​ 如果发现错误Could not generate a proxy class for class com.android.build.gradle.tasks.BuildArtifactReportTask,这个问题困扰我大半天时间,最终解决方案是降低gradle的插件版本为3.0.0 gradle版本4.4不用变即可


工程目录结构

仅先了解这些吧 从上至下

  • android //安卓工程
  • ios//iOS工程
  • node_moudles//依赖库
  • app.json//工程名字配置等
  • App.js//组件
  • index.js//启动入口
  • package.json//依赖配置信息
配置TypeScript

为什么这里直接就要是有TypeScript了呢,因为适用,因为公司的项目初始化就是TS的工程了,不得不学,JS虽然很强大,但TS更强大更规范了,不允许你乱写,没有规范哪里行,所以避免被JS乱象影响,直接使用TS吧,至于区别,这个我也是刚刚学习,大家自行自学哈

添加typescript

yarn add -D typescript
yarn add -D @types/react @types/react-native

生成tsconfig.json

tsc --init --pretty --sourceMap --target es2015 --outDir ./lib --rootDir ./ --module commonjs --jsx react

里面的参数配置目前我也不是很清楚,后面可以慢慢看,暂时不需要管.有需要去查阅文档 tsconfig.json

将App.js改成App.tsx 如果有报错,改掉错误

编写组件

//导包
import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View} from 'react-native';
type Props = {};//这里不懂 没关系 不管它先
//创建组件
export default class App extends Component {render() {return (Welcome to React Native!To get started, edit App.js{instructions} );}
}
//样式设置
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,},
});

  • 从上面的结构来看,我们想象 所有的组件是基于React.Component派生的子组件 就像android的自定义View一样
  • public class MyView extends View{} 是一样的道理
  • render() //渲染视图 就像android的onDraw()/draw()
  • return中的内容就是布局视图 这里直接返回 比android 简单的不要太多 配合export 关键字 导出的意思,就是对外提供使用,就像public 我理解.
  • View 布局标签 就相当于android中的LinerLayout,这时候你会想,那相对位置怎么设置呢,后面我们就会接触到Flex盒子布局,android中其实也有
  • Text 文本标签 就相当于android中的TextView
  • 还有很多很多标签,用到的时候去官方文档一查找就行了,不需要一个个的去学习.
  • style 控制布局和标签组件的样式 写法固定 记住就好 style={styles.xxx}或者style={{color:'white',xxxx,xxxx}}

好了,今天就写这些,不出意外,你现在已经跑起来了,大概有了一些了解RN的工程结构等,下面就是你自己随意霍霍App.tsx里的内容了 ,尝试修改布局和样式.

接下来我们要学习React Native的属性props和状态state 这块比较重要,等我了解差不多了,便会推送下一篇总结.

莫着急,一点一点来,一点一点攻破.



推荐阅读
  • 在项目部署后,Node.js 进程可能会遇到不可预见的错误并崩溃。为了及时通知开发人员进行问题排查,我们可以利用 nodemailer 插件来发送邮件提醒。本文将详细介绍如何配置和使用 nodemailer 实现这一功能。 ... [详细]
  • 解决Anaconda安装TensorFlow时遇到的TensorBoard版本问题
    本文介绍了在使用Anaconda安装TensorFlow时遇到的“Could not find a version that satisfies the requirement tensorboard”错误,并提供详细的解决方案,包括创建虚拟环境和配置PyCharm项目。 ... [详细]
  • Python第三方库安装的多种途径及注意事项
    本文详细介绍了Python第三方库的几种常见安装方法,包括使用pip命令、集成开发环境(如Anaconda)以及手动文件安装,并提供了每种方法的具体操作步骤和适用场景。 ... [详细]
  • 磁盘健康检查与维护
    在计算机系统运行过程中,硬件或电源故障可能会导致文件系统出现异常。为确保数据完整性和系统稳定性,定期进行磁盘健康检查至关重要。本文将详细介绍如何使用fsck和badblocks工具来检测和修复文件系统及硬盘扇区的潜在问题。 ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
  • Windows 7 64位系统下Redis的安装与PHP Redis扩展配置
    本文详细介绍了在Windows 7 64位操作系统中安装Redis以及配置PHP Redis扩展的方法,包括下载、安装和基本使用步骤。适合对Redis和PHP集成感兴趣的开发人员参考。 ... [详细]
  • 雨林木风 GHOST XP SP3 经典珍藏版 V2017.11
    雨林木风 GHOST XP SP3 经典珍藏版 V2017.11 ... [详细]
  • Python 内存管理机制详解
    本文深入探讨了Python的内存管理机制,涵盖了垃圾回收、引用计数和内存池机制。通过具体示例和专业解释,帮助读者理解Python如何高效地管理和释放内存资源。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 在本教程中,我们将深入探讨如何使用 Python 构建游戏的主程序模块。通过逐步实现各个关键组件,最终完成一个功能完善的游戏界面。 ... [详细]
  • 本文详细探讨了JavaScript中的作用域链和闭包机制,解释了它们的工作原理及其在实际编程中的应用。通过具体的代码示例,帮助读者更好地理解和掌握这些概念。 ... [详细]
  • 丽江客栈选择问题
    本文介绍了一道经典的算法题,题目涉及在丽江河边的n家特色客栈中选择住宿方案。两位游客希望住在色调相同的两家客栈,并在晚上选择一家最低消费不超过p元的咖啡店小聚。我们将详细探讨如何计算满足条件的住宿方案总数。 ... [详细]
  • C#设计模式学习笔记:观察者模式解析
    本文将探讨观察者模式的基本概念、应用场景及其在C#中的实现方法。通过借鉴《Head First Design Patterns》和维基百科等资源,详细介绍该模式的工作原理,并提供具体代码示例。 ... [详细]
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
author-avatar
拍友2502882547
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有