React Native快速入门:构建你的第一个APP
开篇:什么是React Native?它用来做什么?

如果你是一个完全没有编程基础的新手,但又想开发一个属于自己的手机应用(App),那么恭喜你找到了一个非常好的起点 —— React Native!
什么是一个移动应用(App)?
在我们日常使用手机的时候,比如微信、抖音、淘宝这些软件,就是“App”,全称是“Application”(应用程序)。它们可以运行在安卓或者苹果的手机系统中。
那么,什么是React Native?
React Native 是一个由 Facebook 开发的开源框架,专门用来帮助开发者用 JavaScript 这种语言来编写可以在手机上运行的应用。你可以把它理解成一座桥梁,把网页开发的知识转化成能装进手机里的 App。
更厉害的是:用 React Native 写出来的代码,几乎可以在 Android 和 iOS 两个平台上通用!也就是说,只要写一套代码,就能在两种设备上运行。省时又省力!
这正是为什么很多初学者选择从 React Native 入门学习的原因之一:不需要同时掌握两套完全不同的技术(安卓用 Java/Kotlin,iOS 用 Swift/Objective-C),只需要学会一种语言(JavaScript),就可以写出跨平台的应用。
环境准备:搭建你的第一个React Native开发环境

学习任何新技能之前,都得先准备好“工具”。React Native 也不例外,你需要先安装好以下几个关键组件。
⚠️ 注意:以下步骤适用于 Windows 和 macOS 用户。如果你使用的是 Linux 或其它系统,请参考官方文档。
第一步:安装Node.js
Node.js 是一种可以让 JavaScript 在电脑上运行的环境。你需要它来运行一些命令和依赖。
- 打开浏览器,访问 https://nodejs.org
- 下载并安装 LTS 版本(建议新手使用)
- 安装完成后,打开终端(Mac)或命令提示符(Windows),输入以下命令查看是否安装成功:
node -v
npm -v
如果出现版本号,说明安装成功了。
第二步:安装 Expo CLI
Expo 是一个可以帮助我们更快创建和测试 React Native 应用的工具集。
- 输入命令安装 Expo CLI:
npm install -g expo-cli
- 检查是否安装成功:
expo --version
第三步:创建第一个项目
现在我们已经准备好开始写代码了。让我们新建一个项目。
expo init MyFirstApp
之后会看到几个模板选项,新手推荐选:
blank (TypeScript)— 带 TypeScript 的空白模板(更容易发现错误)
等待几秒钟后,项目就创建好了。
进入项目目录:
cd MyFirstApp
启动开发服务器:
npx expo start
这时候会出现一个二维码和一个本地调试界面。接下来你可以:
- 使用 手机上的 Expo Go 应用扫描这个二维码,在真机上测试
- 或者按下对应键,选择在模拟器/模拟环境中运行
🎉 恭喜你!你已经成功配置好了 React Native 的开发环境!
核心概念:通俗解释React Native的关键知识点

对于完全零基础的新手来说,下面这几个核心概念是最基本也是最重要的内容,我们用最简单的方式来解释。
1. 组件(Component)——像乐高一样拼起来的UI模块
在 React Native 中,所有的界面元素都是一个个“组件”。
比如按钮、文本框、图片,甚至整个屏幕的内容,都可以看作是一个个组件拼接而成的。
举个例子:
import React from 'react';
import { View, Text } from 'react-native';
function HelloWorld() {
return (
<View>
<Text>Hello, 世界!</Text>
</View>
);
}
export default HelloWorld;
上面这段代码就是一个组件,叫 HelloWorld。它会在屏幕上显示“Hello, 世界!”这句话。
你可以把每个组件想象成一块积木,最终拼在一起成为一个完整的游戏城堡(也就是App)。
2. JSX语法 —— 更简洁地描述界面结构
你会发现上面那段代码里有类似 HTML 的结构(比如 <View>、<Text>),但实际上这是叫做 JSX 的语法。
JSX 是一种让 JavaScript 支持写“类HTML代码”的方式,便于构建界面。
例如:
<View style={{ backgroundColor: 'lightblue', padding: 20 }}>
<Text>我是一个蓝色背景的文字区域</Text>
</View>
这里 <View> 就是类似 HTML 中 <div> 的容器元素,但它只能在 React Native 中使用。
3. 样式(Style)——给组件添加外观样式
每一个组件都可以通过 style 属性来设置外观,就像 CSS 一样。但不同之处在于,React Native 使用的是 JavaScript 对象的形式来写样式。
示例:
<Text style={{ fontSize: 24, color: 'red' }}>红色文字</Text>
也可以将样式提取出来,使代码更清晰:
const styles = {
redText: {
fontSize: 24,
color: 'red'
}
};
<Text style={styles.redText}>红色文字</Text>
4. 状态(State)——控制组件内部的变化
状态(State)是用来保存组件中的“变量”的东西。比如,点击按钮时要更新某个值,就需要用到状态。
来看一个小例子:
import React, { useState } from 'react';
function CounterButton() {
const [count, setCount] = useState(0);
return (
<View>
<Text>按钮被点击了 {count} 次</Text>
<Button title="点我" onPress={() => setCount(count + 1)} />
</View>
);
}
在这个例子中:
useState(0)表示创建了一个初始值为0的状态变量countsetCount()是修改这个变量的函数- 当用户每次点击按钮,就会执行
setCount(count + 1),实现计数递增
5. 事件处理(Event Handling)——响应用户的交互行为
用户和App互动的过程其实就是对“事件”的处理过程。
最常见的事件包括:
- 触摸/点击按钮(onPress)
- 输入内容(onChangeText)
- 页面加载完成等
比如我们可以用 onPress 来响应按钮点击:
<Button title="点击我" onPress={() => alert('你好!')} />
当你点击按钮时,会弹出一个提示框:“你好!”
实战项目:跟着教程一步步完成一个简单项目
现在我们来做个小项目吧!目标是写一个简单的 待办事项清单 App(To-Do List)。它可以让你添加任务,并显示列表内容。
🧩 步骤一:导入所需组件
import React, { useState } from 'react';
import { View, TextInput, Button, FlatList, Text } from 'react-native';
🧩 步骤二:定义主功能组件
function TodoApp() {
const [task, setTask] = useState('');
const [tasks, setTasks] = useState([]);
const addTask = () => {
if (task.trim()) {
setTasks([...tasks, task]);
setTask(''); // 清空输入框
}
};
return (
<View style={{ padding: 20 }}>
<TextInput
placeholder="输入任务名称"
value={task}
onChangeText={text => setTask(text)}
/>
<Button title="添加任务" onPress={addTask} />
{/* 使用 FlatList 显示任务列表 */}
<FlatList
data={tasks}
renderItem={({ item }) => <Text>{item}</Text>}
keyExtractor={(item, index) => index.toString()}
/>
</View>
);
}
export default TodoApp;
🔍 逐行解析:
- 我们用
useState创建了两个状态:输入框内容task、所有任务tasks addTask函数负责将任务加入数组,并清空输入框TextInput是文本输入框Button是添加按钮FlatList是用来展示列表数据的组件,比直接用多个Text性能更好
常见问题解答(FAQ)
❓ Q1:我的App运行时黑屏是什么原因?
可能原因:
- 代码中有语法错误
- 图片路径引用不正确
- 未正确安装依赖
✅ 解决方法:
- 查看终端报错信息
- 看 Expo 本地调试页面中的错误提示
- 尝试重新启动
npx expo start
❓ Q2:React Native 和 Flutter 是一样的吗?
不一样哦!
- React Native 使用 JavaScript / TypeScript,调用原生模块渲染组件。
- Flutter 使用 Dart 编程语言,自带渲染引擎,UI更统一。
👉 如果你是前端背景或 JS 已经熟练,推荐从 React Native 学起。
❓ Q3:能不能不学 JS 直接学 React Native?
不太建议 😕
因为 React Native 的核心是基于 JavaScript 的,必须先了解基本语法、函数、对象、变量等才能继续深入。
❓ Q4:能不能只写一次代码发布到两个平台?
虽然 React Native 支持跨平台,但有时还是需要根据 Android 和 iOS 差异做一些适配工作(比如导航栏样式、文件系统权限等)。
学习建议:下一步学习路线

你现在完成了你的第一个 React Native 项目,很棒!但是,要成为真正能够独立开发 App 的开发者,还需要进一步努力。
以下是一份为你量身定制的学习路径:
✅ 初级阶段(已达成)
- 熟悉开发环境搭建(已完成)
- 了解组件、状态、事件等基础概念(已完成)
- 能完成简单项目(如 To-Do 列表)(已完成)
✅ 中级阶段(建议下一步)
1. 掌握常用内置组件
如 ScrollView、Image、ActivityIndicator、Modal、Alert 等
2. 学习网络请求(API 调用)
使用 fetch 或第三方库(如 axios)获取远程数据
示例:
fetch('https://jsonplaceholder.typicode.com/todos/1')
.then(response => response.json())
.then(json => console.log(json));
3. 理解导航(Navigation)
推荐使用 react-navigation,可以实现多页面跳转、标签页等功能
4. 数据持久化(存储数据)
使用 AsyncStorage(过时)或现代方案 react-native-paper、Realm、SQLite
5. 引入 UI 框架简化开发
比如 NativeBase、react-native-paper 提供更多好看的组件
✅ 高级阶段
- 学习 Redux / Context API 管理全局状态
- 构建更复杂项目:如商城、社交App、天气预报等
- 学习如何打包发布上线
- 了解动画和性能优化
- 逐步接触原生模块集成(Advanced)
结语:坚持就是胜利!
React Native 是一个强大且友好的跨平台开发工具。只要你愿意动手尝试、不断练习,哪怕没有任何编程经验,也完全可以做出属于你自己的 App。
不要担心犯错,也不要害怕遇到 bug —— 每一个优秀的开发者,都是从一行代码起步的。
祝你早日开发出惊艳的作品!🚀

评论 0