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

你是不是也经常用手机看新闻、刷视频、玩游戏?这些应用都是通过移动开发技术来实现的。而今天我们要介绍的 React Native,就是这样一个用于开发跨平台移动应用的强大工具。
那它到底有什么神奇的地方?
简单来说,React Native 能让你只写一次代码,就能在 Android 和 iOS 两个平台上同时运行。这意味着你不用分别学习 Java/Kotlin(安卓)和 Swift/Objective-C(苹果),只要掌握 JavaScript 或 TypeScript,就可以开发出外观和性能接近原生 App 的应用程序。
听起来很酷对吧?而且很多知名企业如 Facebook、Instagram、Airbnb 等都有使用 React Native 技术进行实际产品开发。
✅ 小贴士:虽然它“一次编写,多端运行”,但并不意味着你可以完全忽视不同平台之间的差异,比如 UI 设计风格或系统特性。不过作为初学者,你完全可以先从基础做起。
环境准备:搭建属于自己的开发环境

任何编程语言都需要一个合适的“家”才能发挥作用。下面我们来一步步搭建 React Native 的开发环境。
⚠️ 提示:我们将以 Windows + Android 模拟器为例讲解。如果你使用 Mac,则可以支持 iOS 的运行。
步骤一:安装 Node.js
React Native 基于 JavaScript 构建,需要运行在 Node.js 上。
- 打开 https://nodejs.org
- 下载 “LTS” 版本(稳定版)
- 安装到电脑上
- 打开命令行,输入:
node -v
如果能看到版本号(如 v18.x.x),说明安装成功!
步骤二:安装 npm 包管理工具(通常与 Node.js 一同安装)
npm 是 JavaScript 世界中最常用的包管理工具。我们可以通过它安装各种库和工具。
检查是否安装:
npm -v
步骤三:安装 React Native CLI(命令行工具)
CLI 表示 Command Line Interface,即命令行界面工具。
运行以下命令安装:
npm install -g react-native-cli
验证是否成功:
react-native --version
步骤四:创建你的第一个项目
现在你已经具备了所有必须的基础环境啦!我们来创建第一个 React Native 应用:
npx react-native init MyFirstApp
这个命令会生成一个名为 MyFirstApp 的文件夹,里面是一个基本结构完整的 React Native 项目。
进入目录:
cd MyFirstApp
启动应用前,请确保:
- 你的电脑连接着 USB 数据线或已正确配置模拟器。
- 已安装 Android Studio 并配置好 Android SDK。
接着运行:
npx react-native run-android
第一次运行可能需要一点时间下载依赖,并启动模拟器或真机调试器。
🎉 成功的话,你会看到一个带有“Welcome to React Native!”的默认界面!
核心概念:通俗易懂地解释关键技术点

现在你已经跑起了一个 App,是不是感觉还挺有意思的?接下来我们来看看构成这个 App 的一些核心概念。
1. JSX —— JavaScript 中的 HTML 写法
JSX 是 React 中特有的语法糖,允许你在 JavaScript 中直接写类似 HTML 的标签结构。
例如:
<View>
<Text>Hello, world!</Text>
</View>
<View>相当于网页中的<div>,是容器组件。<Text>相当于文字展示控件,类似<p>或<span>。
虽然看起来像 HTML,但它并不是真正的 HTML,而是被转换成 React Native 内部使用的组件树。
2. 组件(Component)—— App 的基本构建块
React Native 的一切 UI 都是组件组成的。
函数式组件(推荐新手使用)
const Greeting = () => {
return (
<Text>Hello from a component!</Text>
);
};
然后在主页面中调用它:
import { View } from 'react-native';
import Greeting from './Greeting';
export default function App() {
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Greeting />
</View>
);
}
✅ 小贴士:组件名称首字母要大写,否则会被当成普通 HTML 标签处理。
3. 样式(Styling)
在 React Native 中,样式不是用 CSS 文件写的,而是直接嵌入在 JS 文件中。
举个例子:
const styles = {
container: {
backgroundColor: '#f0f0f0',
padding: 20,
borderRadius: 10,
},
};
// 使用方式
<View style={styles.container}>
<Text>This is styled view.</Text>
</View>
你也可以内联书写:
<View style={{ backgroundColor: 'lightblue', padding: 15 }}>
...
</View>
4. 状态(State)—— 动态更新数据的关键
想象一下,点击按钮后文本发生变化,这就是“状态”的作用。
我们可以使用 useState Hook 来管理状态:
import React, { useState } from 'react';
const ClickCounter = () => {
const [count, setCount] = useState(0);
return (
<>
<Text>点击次数: {count}</Text>
<Button title="点击增加" onPress={() => setCount(count + 1)} />
</>
);
};
这里,每次用户点击按钮,setCount 就会改变 count 的值,并自动刷新界面。
5. 生命周期 & Effect Hook(useEffect)
有时候你想在组件加载/卸载时执行某些操作,比如请求网络数据。
可以用 useEffect 实现:
import React, { useEffect } from 'react';
const App = () => {
useEffect(() => {
console.log('组件初次加载');
return () => {
console.log('组件即将卸载');
};
}, []);
return (
<View>
<Text>Welcome to the app.</Text>
</View>
);
};
[] 是依赖数组,表示只在组件挂载和卸载时触发。
实战项目:做一款简单的“待办事项列表”
学以致用是最好的学习方式。下面我们来做一个实用的小项目:Todo List,也就是任务清单。
🎯 项目目标:
- 添加新任务
- 删除已有任务
- 查看所有任务
第一步:初始化项目(前面已完成)
略过此步,假设你已经有一个空项目。
第二步:设计界面布局
打开 App.js 文件,修改为如下内容:
import React, { useState } from 'react';
import { View, TextInput, Button, FlatList, Text } from 'react-native';
export default function App() {
const [task, setTask] = useState('');
const [tasks, setTasks] = useState([]);
// 添加任务
const addTask = () => {
if (task.trim()) {
setTasks([...tasks, task]);
setTask('');
}
};
// 删除任务
const deleteTask = (index) => {
const newTasks = tasks.filter((_, i) => i !== index);
setTasks(newTasks);
};
return (
<View style={{ padding: 20 }}>
<TextInput
placeholder="添加新任务"
value={task}
onChangeText={(text) => setTask(text)}
style={{ borderWidth: 1, marginBottom: 10, padding: 10 }}
/>
<Button title="添加" onPress={addTask} />
<FlatList
data={tasks}
renderItem={({ item, index }) => (
<View style={{
flexDirection: 'row',
justifyContent: 'space-between',
marginVertical: 5,
padding: 10,
backgroundColor: '#e6e6e6'
}}>
<Text>{item}</Text>
<Button title="删除" onPress={() => deleteTask(index)} />
</View>
)}
keyExtractor={(item, index) => index.toString()}
/>
</View>
);
}

第三步:运行并测试功能
保存代码,重新运行应用:
npx react-native run-android
你应该可以看到一个任务输入框,输入并点击“添加”按钮,下方就会显示新任务。点击每个任务右边的“删除”按钮,即可清除任务。
常见问题:遇到困难别慌张,常见问题都在这儿
❓ Q1:提示“Could not connect to development server.” 怎么解决?
这是开发者服务器连接异常的问题。
✅ 解决方法:
- 检查是否正在运行
npx react-native start(开启 Metro 打包器) - 使用 USB 调试模式时请确保电脑和设备在同一局域网
- 如果模拟器卡住,尝试重启 ADB 服务或重启模拟器
❓ Q2:安装依赖失败怎么办?
可能会遇到某个包无法下载。
✅ 解决办法:
- 更换镜像源:
npm config set registry https://registry.npmmirror.com - 清除缓存:
npm cache clean --force - 或者试试使用
yarn替代npm
❓ Q3:样式写完没生效?
样式写错了或者不支持某些 CSS 属性。
✅ 检查建议:
- 确保拼写正确,如
backgroundColor而不是background-color - 不支持 float、display:flex 需要特殊处理(React Native 使用的是 Flexbox 布局)
- 推荐使用 React Native 的文档查看各属性的支持情况
学习建议:下一步该学什么?
恭喜你完成了第一个 React Native App 的构建!这是一个很好的起点。
推荐进阶方向:
| 方向 | 说明 |
|---|---|
| 导航系统 | 学习 @react-navigation/native 实现多个页面跳转 |
| 数据存储 | 使用 AsyncStorage 或 SQLite 保存本地数据 |
| API 请求 | 掌握 fetch() 或第三方库(如 Axios)获取远程数据 |
| Redux 状态管理 | 大型项目必备技能 |
| 主题与样式优化 | 学习使用 styled-components 或 Tailwind CSS |
| 发布上线 | 学习如何打包 APK/IPA 并上传至各大商店 |

结语:让每一个想法变成App
React Native 让你摆脱繁琐的原生语言,用熟悉的 JavaScript 快速开发 App。你已经迈出了第一步,后面的学习之路虽然有挑战,但也充满乐趣。
保持实践,多多动手写代码,你会发现——原来我也可以做出很棒的应用!
🚀 Happy Coding!

评论 0