React Native快速入门:构建你的第一个APP

张敏△
2025-06-15 09:05
阅读 2021

开篇:React Native是什么,用来做什么?

开篇:React Native是什么,用来做什么?

你可能听说过很多关于“App开发”的故事——比如有人用手机APP赚了大钱、有的公司因为一个好的APP迅速火起来。那么,作为一个完全零基础的初学者,你也想尝试开发一个自己的APP吗?好消息是,现在有一门叫做 React Native 的技术可以帮助你实现这个梦想。

那什么是 React Native 呢?

你可以把它理解为一种工具包,专门用来帮你写出能在智能手机上运行的程序(也就是我们常说的 App)。它最大的特点是一次写代码,可以同时在 Android 和 iOS 手机上运行。想象一下,你只需要学习一门语言,就可以做出两个平台都能用的App,这不就很省时间嘛!

而且,React Native 是由 Facebook 团队开发的,有很多成熟的功能和丰富的文档支持。它使用的编程语言是 JavaScript,这是网页开发中最常用的语言之一,学习成本相对较低,适合新手入门。

所以无论你是学生、自学者,还是上班族想要拓展技能,掌握 React Native 都是一个非常不错的选择!

接下来我们就一步步开始学习如何搭建环境,然后做一个属于你自己的第一个小应用吧!


环境准备:手把手带你安装React Native开发环境

环境准备:手把手带你安装React Native开发环境

万事开头难,但别担心!这一节我会一步一步教你安装开发所需的软件和工具。这些看起来好像有点多,但其实只要按照步骤来,你也能顺利完成环境配置。

第一步:安装 Node.js 和 npm

React Native 使用 JavaScript 编程语言,而运行 JavaScript 通常需要一个叫 Node.js 的运行环境。npm(Node Package Manager)会随着 Node.js 一起安装,它是用来下载其他工具的“助手”。

  1. 访问 https://nodejs.org
  2. 下载并安装 "LTS" 版本(建议选择稳定版本)
  3. 安装完成后打开终端或命令行窗口,输入以下命令检查是否成功:
    node -v
    npm -v
    
    如果看到类似 v14.15.0 或更高版本的信息,说明安装成功啦!

第二步:安装 Expo CLI

Expo 是一个让开发者更容易创建 React Native 应用的平台。我们可以使用它提供的命令行工具来创建项目。

  1. 在终端中输入:
    npm install -g expo-cli
    
  2. 安装完成后输入:
    expo --version
    
    如果能看到版本号,说明安装成功。

第三步:创建第一个项目

现在我们已经准备好开始写代码了。我们先用 Expo 来创建一个项目:

  1. 输入以下命令:
    expo init MyFirstApp
    
  2. 你会看到几个选项,这里我们选最简单的一个模板:“blank”(空项目)。
  3. 进入项目文件夹:
    cd MyFirstApp
    
  4. 启动项目:
    expo start
    

这时候,终端会出现一个二维码。你可以用手机上的 Expo Go 应用(安卓/iOS都支持)扫描这个二维码,在手机上看到你的第一个App界面。

恭喜你,开发环境已经搞定啦!接下来就进入更有趣的部分:写代码!


核心概念讲解:什么是组件、JSX、状态等重要术语?

核心概念讲解:什么是组件、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

最热最新
暂无评论
张敏△Lv.1
0
影响力
0
文章
0
粉丝