Skip to content Skip to footer

React Native开发从入门到精通

目录

第一部分:React Native 入门

React Native 简介

什么是 React NativeReact Native 与原生开发对比React Native 的优缺点 开发环境搭建

Node.js 和 npm 的安装React Native CLI 和 Expo 的安装与使用Android Studio 和 Xcode 配置模拟器和真机调试环境搭建 第一个 React Native 应用

创建项目项目结构解析简单的页面编写和运行

第二部分:React Native 基础

核心组件

Text、View、Image、Button 等组件的使用ScrollView 和 FlatList 组件SectionList 和 VirtualizedList 样式与布局

Flexbox 布局样式表的使用(StyleSheet)尺寸与适配 导航

React Navigation 的安装与使用Stack Navigator、Tab Navigator 和 Drawer Navigator参数传递与深度链接

第三部分:React Native 核心功能

状态管理

useState 和 useReducer 的使用Redux 和 Redux Toolkit 集成MobX 和 Zustand 状态管理 数据通信

Fetch 和 Axios 请求数据数据缓存(AsyncStorage 和 MMKV)数据库(SQLite 和 Realm) 设备功能

使用 Camera 和 Media APIGeolocation 与地图集成推送通知(Firebase、OneSignal)

第四部分:React Native 进阶开发

自定义组件

创建高复用组件使用 PropTypes 和 TypeScript 检测类型 动画

Animated API 的使用React Native Reanimated手势与交互(React Native Gesture Handler) 性能优化

避免性能陷阱(渲染优化、PureComponent)使用 Hermes 引擎图片和资源的优化 原生模块

自定义原生模块原生模块与 React Native 交互使用 Native Modules 和 Native UI Components

第五部分:React Native 案例实战

小型案例

ToDo 应用计时器 中型案例

电商应用(商品列表、购物车)新闻类应用(API 数据加载与显示) 大型项目

即时聊天应用视频播放和上传应用

第六部分:未来趋势与学习建议

最新功能和趋势

Fabric 新架构Turbo ModulesReact Native 和 Flutter 的对比 学习资源

官方文档社区论坛开源项目和实战案例

附录

React Native 的适配难点、疑点、兼容性问题及解决方案

跨平台样式差异

设备尺寸和屏幕适配

导航的兼容性问题

性能问题

原生模块的兼容性

网络请求和缓存问题

Debug 与错误处理

第一部分:React Native 入门

学习目标

了解 React Native 的基本概念

理解 React Native 的核心思想及其与原生开发的区别。

掌握 React Native 的优缺点,明确其适用场景。

开发环境搭建

能够独立完成 React Native 开发环境的搭建。

熟悉常用工具(如 Node.js、npm、React Native CLI、Expo)的安装与配置。

创建并运行第一个 React Native 应用

掌握 React Native 项目的创建流程。

理解项目结构,能够编写并运行简单的页面。

1. React Native 简介

1.1 什么是 React Native

定义: React Native 是 Facebook 于 2015 年开源的跨平台移动应用开发框架。它基于 React(一个用于构建用户界面的 JavaScript 库)和 JavaScript,允许开发者使用相同的代码库构建 iOS 和 Android 应用。

核心思想:

Learn Once, Write Anywhere:学习一次,编写多平台应用。

声明式 UI:通过组件化的方式构建用户界面。

原生渲染:使用原生组件而非 WebView,提供接近原生的性能。

工作原理: React Native 通过 JavaScript 与原生平台通信,将 JavaScript 代码转换为原生组件。例如,React Native 的 组件在 iOS 上会被转换为 UIView,在 Android 上会被转换为 android.view.View。

1.2 React Native 与原生开发对比

原生开发:

iOS:使用 Swift/Objective-C 和 Xcode。

Android:使用 Kotlin/Java 和 Android Studio。

优点:

性能最优,功能支持最全面。

直接访问平台特性(如相机、传感器)。

缺点:

需要维护两套代码,开发成本高。

开发周期长,学习曲线陡峭。

React Native:

优点:

跨平台开发,节省时间和成本。

基于 JavaScript,学习曲线较低。

热更新支持,无需重新发布应用。

缺点:

性能略低于原生,尤其在复杂动画和计算密集型任务中。

部分原生功能需要依赖第三方库或自定义原生模块。

1.3 React Native 的优缺点

优点:

跨平台开发:

使用相同的代码库开发 iOS 和 Android 应用,减少开发成本。

开发效率高:

基于 JavaScript,前端开发者可以快速上手。

支持热更新,实时预览代码修改。

社区活跃:

拥有庞大的开发者社区和丰富的第三方库支持。

接近原生的性能:

使用原生组件渲染,性能优于基于 WebView 的框架(如 Cordova)。

缺点:

性能略低于原生:

在复杂动画或计算密集型任务中,性能可能不如原生开发。

依赖第三方库:

部分原生功能(如推送通知、地图)需要依赖第三方库。

调试复杂:

跨平台调试可能比原生开发更复杂。

2. 开发环境搭建

2.1 Node.js 和 npm 的安装

Node.js: React Native 的运行环境依赖 Node.js。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,允许在服务器端运行 JavaScript 代码。

安装步骤:

访问 Node.js 官网。

下载并安装最新 LTS 版本(推荐使用 nvm 管理多版本)。

安装完成后,通过以下命令验证安装:

node -v # 查看 Node.js 版本

npm -v # 查看 npm 版本 nvm(Node Version Manager): 用于管理多个 Node.js 版本,适合需要切换版本的开发者。

安装命令(macOS/Linux):

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash 常用命令:

nvm install 18 # 安装 Node.js 18.x

nvm use 18 # 使用 Node.js 18.x

npm: npm 是 Node.js 的包管理工具,用于安装和管理 JavaScript 库。

常用命令:

npm install -g # 全局安装包

npm install # 本地安装包

npm update # 更新包

npm uninstall # 卸载包

2.2 React Native CLI 和 Expo 的安装与使用

React Native CLI: React Native 官方提供的命令行工具,适合需要深度定制原生代码的项目。

安装命令:

npm install -g react-native-cli 创建项目:

npx react-native init MyFirstApp 运行项目:

npx react-native run-android # 运行 Android 项目

npx react-native run-ios # 运行 iOS 项目 Expo: Expo 是一个基于 React Native 的开发平台,提供了一套工具和服务,简化了开发流程。

安装命令:

npm install -g expo-cli 创建项目:

expo init MyFirstApp 运行项目:

expo start 优点:

无需配置原生环境,适合快速原型开发。

提供丰富的 API 和组件(如相机、地图)。

2.3 Android Studio 和 Xcode 配置

Android Studio: Android 开发的官方 IDE,用于配置 Android 开发环境。

安装步骤:

访问 Android Studio 官网。

下载并安装 Android Studio。

安装 Android SDK 和模拟器:

打开 Android Studio,选择 "SDK Manager"。

安装最新版本的 Android SDK 和 Build Tools。

配置环境变量(如 ANDROID_HOME)。

创建模拟器:

打开 Android Studio,选择 "AVD Manager"。

创建一个新的虚拟设备(如 Pixel 5)。

启动模拟器。

Xcode: iOS 开发的官方 IDE,用于配置 iOS 开发环境。

安装步骤:

访问 Mac App Store。

下载并安装 Xcode。

打开 Xcode,同意许可协议并安装额外组件。

创建模拟器:

打开 Xcode,选择 "Window" -> "Devices and Simulators"。

创建一个新的模拟器(如 iPhone 14)。

启动模拟器。

2.4 模拟器和真机调试环境搭建

模拟器:

Android:使用 Android Studio 的 AVD Manager 创建模拟器。

iOS:使用 Xcode 的 Simulator。

真机调试:

Android:

通过 USB 连接设备。

启用开发者模式(连续点击 "设置" -> "关于手机" -> "版本号")。

启用 USB 调试("设置" -> "开发者选项" -> "USB 调试")。

iOS:

通过 USB 连接设备。

使用 Xcode 配置设备并安装开发证书。

3. 第一个 React Native 应用

3.1 创建项目

在完成开发环境搭建后,接下来就是创建并运行第一个 React Native 应用。React Native 提供了两种创建项目的方式:React Native CLI 和 Expo。以下是详细步骤:

3.1.1 使用 React Native CLI 创建项目

React Native CLI 是官方提供的命令行工具,适合需要深度定制原生代码的项目。

安装 React Native CLI(如果尚未安装):

npm install -g react-native-cli 创建项目: 使用以下命令创建一个新的 React Native 项目:

npx react-native init MyFirstApp

MyFirstApp 是项目名称,可以根据需要修改。

创建完成后,进入项目目录:

cd MyFirstApp 项目结构: 创建完成后,项目目录结构如下:

MyFirstApp/

├── android/ # Android 原生代码

├── ios/ # iOS 原生代码

├── node_modules/ # 项目依赖的第三方库

├── src/ # 源代码目录(可选)

├── App.js # 应用的入口文件

├── package.json # 项目的依赖和脚本配置

└── ... # 其他配置文件

3.1.2 使用 Expo 创建项目

Expo 是一个基于 React Native 的开发平台,适合快速原型开发。

安装 Expo CLI(如果尚未安装):

npm install -g expo-cli 创建项目: 使用以下命令创建一个新的 Expo 项目:

expo init MyFirstApp

选择模板(推荐选择 "blank" 空白模板)。

创建完成后,进入项目目录:

cd MyFirstApp 项目结构: 创建完成后,项目目录结构如下:

MyFirstApp/

├── assets/ # 静态资源(如图片、字体)

├── node_modules/ # 项目依赖的第三方库

├── src/ # 源代码目录(可选)

├── App.js # 应用的入口文件

├── package.json # 项目的依赖和脚本配置

└── ... # 其他配置文件

3.2 项目结构解析

无论是使用 React Native CLI 还是 Expo 创建的项目,其核心结构是相似的。以下是关键文件和目录的详细说明:

3.2.1 核心文件

App.js:

应用的入口文件,默认包含一个简单的 React 组件。

开发者可以在此文件中编写应用的 UI 和逻辑。

package.json:

项目的配置文件,包含项目的依赖和脚本命令。

例如:

{

"name": "MyFirstApp",

"version": "1.0.0",

"scripts": {

"start": "react-native start",

"android": "react-native run-android",

"ios": "react-native run-ios"

},

"dependencies": {

"react": "18.2.0",

"react-native": "0.71.0"

}

} node_modules/:

存放项目依赖的第三方库。

通过 npm install 或 yarn install 安装依赖时生成。

3.2.2 原生代码目录

android/:

包含 Android 原生代码和配置文件。

例如:build.gradle、AndroidManifest.xml。

ios/:

包含 iOS 原生代码和配置文件。

例如:AppDelegate.m、Info.plist。

3.2.3 其他目录

src/:

可选的源代码目录,用于存放组件、页面和工具函数。

例如:

src/

├── components/ # 可复用组件

├── screens/ # 页面组件

└── utils/ # 工具函数 assets/:

存放静态资源(如图片、字体)。

在 Expo 项目中默认存在,React Native CLI 项目可手动创建。

3.3 简单的页面编写和运行

在创建项目并了解项目结构后,接下来编写一个简单的页面并运行应用。

3.3.1 修改 App.js

打开 App.js,编写一个简单的页面:

import React from 'react';

import { View, Text, StyleSheet, Button } from 'react-native';

const App = () => {

const handlePress = () => {

alert('Hello, React Native!');

};

return (

Welcome to React Native!

Copyright © 2088 天使游戏开发中心 - 独立游戏活动资讯 All Rights Reserved.
友情链接