React Native学习笔记

React Native 是由 Facebook(现 Meta)开发的开源移动应用框架,用于使用 JavaScript 和 React 构建真正的原生移动应用(iOS 和 Android)

跨平台开发:用一套 JavaScript 代码同时生成 iOS 和 Android 应用,复用率可达 70%~90%

原生性能:通过桥接机制(Bridge) 将 JS 代码编译为原生组件(非 WebView),直接调用平台原生 API(如相机、GPS),体验接近纯原生应用

热重载(Hot Reloading):修改代码后实时预览效果,无需重新编译整个应用,大幅提升开发效率,调试周期缩短 50% 以上

搭建开发环境

基础环境:node.js(>=12)、yarn、react-natie-cli(保障js代码可以正常使用)

mac可以搭建安卓和ios的开发环境,但是windows只能搭建Android环境

搭建安卓环境:

安装jdk(java SE Development Kit)版本必须是1.8

安装Android Studio(需要翻墙),启动需要安装组件,大概2G,比较慢

安装 Android SDK(针对安卓开发的套件,虽然Android Studio会默认安装最新版本的Android SDK,但是目前编译React Native需要Android10版本的SDK)

安装方式:打开Android Studio,在菜单Tools下找到SDK Manager

配置环境变量:ANDROID_HOME

搭建IOS环境

Watchman: brew install watchman

Xcode(相当于Android Studio),>=10,appstore安装

Cocoapods(类似于npm):brew install cocoapods

初始化项目:

react-native init myApp // 创建项目

cd myApp

yarn android、yarn ios // 启动项目

vs Code插件:ES7 React/Redux/GraphQL/ReactNative/JS snippets

使用快捷键:rnc(react native class)生成rn 类组件

使用快捷键:rnf(react native function)生成rn 函数组件

调试工具:

模拟器调试:模拟器一般是根据Android Studio和Xcode一起安装的,启动应用模拟器会一起启动

点击模拟器,使模拟器获取焦点

快捷键:ctrl+m、command+m 选debug

自动跳转到浏览器,可以使用web调试的方式去调试

真机调试:打开usb调试模式,通过usb线将电脑和手机连接,启动应用,在手机上安装应用

基础语法

React:jsx语法Redux,常用安装包,生命周期

StyleSheet:

rn中的样式没有继承,只发生在text组件中,样式采用小驼峰,尺寸没有单位

特殊样式名:marginHorizontal(水平外边距),marginVertical(垂直外边距)

rn样式的声明方式是通过style属性直接声明,如果有样式重叠,后边的会覆盖前边的

属性为对象:<组件 style = { {} } />

属性为数组:<组件 style = { [{},{}] } />

Flexbox

组件和api

路由和导航

flexbox

架构原理

项目实践

工程创建

常用组件介绍

模拟器的安装和使用

页面开发环境配置和使用

页面发布

相关推荐
中屹指纹浏览器2 分钟前
2025技术综述:指纹浏览器与国内IP适配的核心技术优化与实践
经验分享·笔记
叶子20242220 分钟前
python学习--外星人入侵
学习
A242073493027 分钟前
JavaScript学习
前端·javascript·学习
im_AMBER32 分钟前
weather-app开发手记 02 JSON基础 | API 调用 400 错误修复 | JWT 认证问题
笔记·学习·json·axios·jwt
阿蒙Amon36 分钟前
JavaScript学习笔记:1.JavaScript简介
javascript·笔记·学习
副露のmagic37 分钟前
更弱智的算法学习day 10
python·学习·算法
Ada大侦探1 小时前
新手小白学习Power BI第五弹--------产品分析以及产品毛利率报表、条件式标红、饼图、散点图
学习·数据分析·powerbi
深海章鱼1 小时前
MD 基础学习2
学习·md
西岸行者1 小时前
学习Hammerstein-Wiener 模型,以及在回声消除场景中的应用
人工智能·学习·算法
Vincent_Zhang2331 小时前
专题:通过时间轴解释区分各种时态
笔记