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

你可能听说过很多关于“App开发”的故事——比如有人用手机APP赚了大钱、有的公司因为一个好的APP迅速火起来。那么,作为一个完全零基础的初学者,你也想尝试开发一个自己的APP吗?好消息是,现在有一门叫做 React Native 的技术可以帮助你实现这个梦想。
那什么是 React Native 呢?
你可以把它理解为一种工具包,专门用来帮你写出能在智能手机上运行的程序(也就是我们常说的 App)。它最大的特点是一次写代码,可以同时在 Android 和 iOS 手机上运行。想象一下,你只需要学习一门语言,就可以做出两个平台都能用的App,这不就很省时间嘛!
而且,React Native 是由 Facebook 团队开发的,有很多成熟的功能和丰富的文档支持。它使用的编程语言是 JavaScript,这是网页开发中最常用的语言之一,学习成本相对较低,适合新手入门。
所以无论你是学生、自学者,还是上班族想要拓展技能,掌握 React Native 都是一个非常不错的选择!
接下来我们就一步步开始学习如何搭建环境,然后做一个属于你自己的第一个小应用吧!
环境准备:手把手带你安装React Native开发环境

万事开头难,但别担心!这一节我会一步一步教你安装开发所需的软件和工具。这些看起来好像有点多,但其实只要按照步骤来,你也能顺利完成环境配置。
第一步:安装 Node.js 和 npm
React Native 使用 JavaScript 编程语言,而运行 JavaScript 通常需要一个叫 Node.js 的运行环境。npm(Node Package Manager)会随着 Node.js 一起安装,它是用来下载其他工具的“助手”。
- 访问 https://nodejs.org
- 下载并安装 "LTS" 版本(建议选择稳定版本)
- 安装完成后打开终端或命令行窗口,输入以下命令检查是否成功:
如果看到类似node -v npm -vv14.15.0或更高版本的信息,说明安装成功啦!
第二步:安装 Expo CLI
Expo 是一个让开发者更容易创建 React Native 应用的平台。我们可以使用它提供的命令行工具来创建项目。
- 在终端中输入:
npm install -g expo-cli - 安装完成后输入:
如果能看到版本号,说明安装成功。expo --version
第三步:创建第一个项目
现在我们已经准备好开始写代码了。我们先用 Expo 来创建一个项目:
- 输入以下命令:
expo init MyFirstApp - 你会看到几个选项,这里我们选最简单的一个模板:“blank”(空项目)。
- 进入项目文件夹:
cd MyFirstApp - 启动项目:
expo start
这时候,终端会出现一个二维码。你可以用手机上的 Expo Go 应用(安卓/iOS都支持)扫描这个二维码,在手机上看到你的第一个App界面。
恭喜你,开发环境已经搞定啦!接下来就进入更有趣的部分:写代码!
核心概念讲解:什么是组件、JSX、状态等重要术语?

在正式做项目之前,我们需要先了解几个 React Native 中非常重要的概念。它们听起来很专业,但我们用最通俗的方式解释给你听。
1. 组件(Component)
组件是你App里的一个个“积木”。每个组件都有自己的功能和外观。比如一个按钮就是一个组件,一段文字也是一个组件。
举个例子:
import React from 'react';
import { Text } from 'react-native';
export default function Hello() {
return (
<Text>Hello, React Native!</Text>
);
}
上面这段代码定义了一个名为 Hello 的组件,它的作用就是在屏幕上显示一句话:"Hello, React Native!"。
组件的好处是可以重复使用。比如如果你写了多个页面都需要显示这句话,你只需要把这个组件拿来直接用就可以了,不需要每次都重新写。
2. JSX(JavaScript XML)
你看上面那段代码里有一个 <Text> 标签,长得像HTML,但不是真正的HTML。这种语法叫做 JSX。它允许我们在JavaScript中像写HTML那样结构清晰地描述界面。
例如:
<View>
<Text>我是标题</Text>
<Text>我是正文</Text>
</View>
这段代码会在一个容器(View)中显示两段文字。
3. 状态(State)
状态是指某个组件内部的数据变化。比如一个按钮被点击后发生了改变,或者一个计数器的数字增加了,这就是状态在发生变化。
来看一个小例子:
import React, { useState } from 'react';
import { Button, Text, View } from 'react-native';
export default function Counter() {
const [count, setCount] = useState(0);
return (
<View>
<Text>你点了我 {count} 次</Text>
<Button title="点我" onPress={() => setCount(count + 1)} />
</View>
);
}
上面这段代码中,useState(0) 表示设置初始值是0的状态变量 count,点击按钮时通过 setCount 把数值加1。这样就能实现实时更新的效果啦!
4. 样式(Styles)
样式就像是给组件“穿衣服”,决定组件长什么样子。React Native 使用的是类似于 CSS 的方式来定义样式。
例如:
import { View, StyleSheet } from 'react-native';
export default function Box() {
return (
<View style={styles.box}></View>
);
}
const styles = StyleSheet.create({
box: {
width: 100,
height: 100,
backgroundColor: 'blue',
},
});
这里我们定义了一个蓝色的正方形盒子,并设置了宽度和高度都是100像素。
实战项目:跟着教程一步步完成一个简单的应用程序
现在我们已经了解了基本的概念和语法,接下来就来实战吧!我们要做的是一款非常简单的任务清单(To-Do List)应用,用户可以在里面添加和查看待办事项。
第一步:新建一个项目
继续使用刚刚创建好的项目 MyFirstApp,我们将在这个项目中添加新功能。
第二步:编辑 App.js 文件
打开项目中的 App.js 文件,替换为如下代码:
import React, { useState } from 'react';
import {
View,
TextInput,
Button,
Text,
FlatList,
StyleSheet
} from 'react-native';
export default function App() {
const [task, setTask] = useState('');
const [tasks, setTasks] = useState([]);
// 添加任务
const addTask = () => {
if (task.trim()) {
setTasks([...tasks, task]);
setTask('');
}
};
// 显示所有任务
return (
<View style={styles.container}>
<TextInput
style={styles.input}
placeholder="请输入任务"
value={task}
onChangeText={(text) => setTask(text)}
/>
<Button title="添加任务" onPress={addTask} />
<FlatList
data={tasks}
renderItem={({ item }) => (
<Text style={styles.taskItem}>{item}</Text>
)}
keyExtractor={(item, index) => index.toString()}
/>
</View>
);
}
// 定义样式
const styles = StyleSheet.create({
container: {
flex: 1,
padding: 20,
paddingTop: 50,
},
input: {
borderWidth: 1,
borderColor: '#ccc',
marginBottom: 10,
paddingHorizontal: 10,
fontSize: 18,
},
taskItem: {
fontSize: 16,
paddingVertical: 5,
},
});
第三步:测试效果
保存文件后回到终端,如果还没有运行,请执行:
expo start
然后再次用手机扫描二维码。你应该看到如下界面:
- 一个输入框让你输入任务
- 一个“添加任务”的按钮
- 下方会列出你添加的所有任务
试着输入一些任务,点击添加按钮看看是不是都能正常显示出来呢?
太棒了!你已经完成了人生中第一个 React Native App!
新手常见问题解答:你可能遇到的问题及解决方案
刚开始学习 React Native 时,常常会遇到各种各样的小问题。下面是一些新手朋友常问的问题以及对应的解决办法:
❓ Q1:为什么我的代码运行不了?报错了怎么办?
✅ A1:遇到错误不要慌张。最常见的错误包括:
- 拼写错误:比如写错变量名、括号没闭合、忘记引号。
- 缺少依赖:某些组件可能需要额外安装。
- 格式错误:比如少了逗号、用了中文符号(如全角冒号 : 而不是半角 :)。
你可以仔细看一下终端输出的错误信息,大多数时候提示都很明确。例如:
SyntaxError: Unexpected token
说明代码中有语法错误,回去检查最近修改的代码段。
另外你也可以使用在线调试工具(如 Snack Expo),把代码粘贴进去看哪里出错。
❓ Q2:为什么我在手机上看不见自己写的文字?
✅ A2:这通常是因为字体大小太小或者颜色跟背景一样。你可以这样检查:
- 查看
style中是否有fontSize设置。 - 是否设置了
color,避免文字颜色与背景一致。 - 如果使用了
View包裹内容,记得加一些 padding 或 margin 来腾出空间。
❓ Q3:FlatList 不显示数据怎么办?
✅ A3:FlatList 显示不出来数据通常是以下几个原因:
- 数据源
data不是数组; renderItem写法不对,没有正确返回组件;- 忘记加上
keyExtractor或者提取键值的方法不对(最好用唯一ID);
确认 tasks 数组中有元素可以用打印语句:
console.log(tasks);
然后看控制台有没有输出正确的数据。
❓ Q4:手机扫不出码怎么办?
✅ A4:有时会因为网络不好、本地服务未启动等问题导致无法扫码。可以尝试:
- 重启终端,重新执行
expo start - 更换不同的网络连接(有些企业/学校网限制多)
- 手机与电脑在同一Wi-Fi下
- 如果实在不行,可以用浏览器访问 https://snack.expo.dev 直接在线预览
学习建议:下一步该学什么?有哪些推荐资源?
你现在已经完成了 React Native 的入门,可以骄傲地说:“我已经会做一个 App 了!”但这只是刚刚开始哦。如果你想进一步提升技能,可以从以下几个方向着手:
🔹 1. 深入学习 React Native 组件
目前你只接触了几种基础组件(比如 Text、View、Button),还有很多实用的组件等待你去探索,比如:
- ScrollView(滚动视图)
- Image(图片展示)
- Modal(弹窗)
- TextInput(输入框)
你可以参考官方文档学习更多组件用法:https://reactnative.dev/docs/components-and-apis
🔹 2. 使用第三方库增强功能
有些功能你自己写起来比较复杂,可以直接使用别人开发好的开源库,比如:
- react-navigation(实现页面跳转)
- redux / context API(管理App全局数据)
- axios(发送HTTP请求)
可以通过 npm 官网搜索你需要的功能。
🔹 3. 学习 React Native 项目结构
当你做了更多的项目之后,你会发现 App 的代码也会变得越来越复杂。这时候就需要学会如何组织代码结构,比如:
- 将不同页面拆分成单独的组件文件
- 分类管理样式、图片资源
- 使用 Navigator 做页面切换
推荐你去看看经典的项目结构设计,比如 Airbnb 的开源项目结构。
🔹 4. 动手练手项目推荐
最好的学习方式就是边学边做!你可以尝试完成以下几个小项目:
- 天气App(调用天气API)
- 日记本(添加、删除日记条目)
- 待办事项App(比我们现在做过的更完善)
- 聊天界面UI(练习布局和交互)
这些项目都能帮助你巩固知识,还能积累作品集。
🔹 5. 加入社区和寻找资源
学习的路上你并不是一个人!加入一些 React Native 社区,能让你获得最新的资讯和帮助:
- GitHub 上关注 React Native 的热门项目
- B站/YouTube 搜索 “React Native 入门”
- 加入 Reddit、知乎相关板块交流经验
- 关注掘金、思否等国内博客平台发布的文章
恭喜你完成了这篇《React Native快速入门》的全部内容!如果你认真跟着每一步操作下来,你现在已经拥有了从零开发一个App的能力。坚持下去,相信不久的将来,你就能够做出令人惊艳的作品!🌟

评论 0