React入门教程:从安装到第一个应用

赵志华_移动端
2025-06-18 12:28
阅读 738

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

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

你可能已经听说过很多关于前端开发的内容,比如HTML、CSS、JavaScript这些技术。今天我们要介绍的是一个非常流行的技术——React

什么是React?

React 是由 Facebook(现在叫 Meta)开发并维护的一个用于构建用户界面的 JavaScript 库。简单来说,你可以用它来做出网页上的交互式内容,比如按钮、表单、动态信息显示等。

React 是用来做什么的?

想象一下你要做一个网页,这个网页需要根据用户的操作不断变化内容(比如点击某个按钮后显示新的数据)。如果你只使用原生的 HTML 和 JavaScript 来做这件事,代码可能会变得复杂又难管理。

而 React 就是为了解决这个问题而出现的。它让开发者更容易地管理页面中不断变化的部分,并且可以让你把整个页面拆分成多个小模块来分别开发,提高效率和可维护性。

为什么初学者要学习 React?

  • 市场需求大:React 是目前最流行的前端框架之一,企业招聘前端岗位时普遍要求掌握 React。
  • 生态丰富:围绕 React 有一整套工具链和生态,方便快速开发。
  • 适合组件化开发:React 鼓励用“组件”的方式写代码,结构清晰,容易扩展和复用。
  • 社区活跃:遇到问题几乎都能在社区中找到答案。

本篇文章将带您从零开始,一步步搭建 React 环境,理解核心概念,并完成一个简单的 React 应用。


环境准备:如何搭建 React 开发环境?

环境准备:如何搭建 React 开发环境?

在正式写代码之前,我们需要准备好开发 React 所需的基本工具。

第一步:安装 Node.js 和 npm

Node.js 是一个可以让 JavaScript 跑在电脑上的工具。npm 是它的包管理器,相当于应用商店,我们可以用它来下载 React 及其相关工具。

  1. 访问 https://nodejs.org
  2. 下载 LTS 版本(长期支持版),然后安装
  3. 安装完成后打开命令行(Windows 用 CMD 或 PowerShell,Mac/Linux 用终端)
  4. 输入以下两个命令查看是否安装成功:
node -v    # 显示版本号,表示 Node.js 安装好了
npm -v     # 显示版本号,表示 npm 安装好了

第二步:安装 create-react-app(创建 React 项目的脚手架工具)

create-react-app 是 Facebook 提供的创建 React 项目的一键工具,不需要配置任何打包工具就能快速启动项目。

执行以下命令安装:

npx create-react-app my-first-react-app

这个过程可能需要几分钟,请耐心等待。

安装完成后,进入项目文件夹:

cd my-first-react-app

然后启动开发服务器:

npm start

稍等片刻,浏览器会自动打开 http://localhost:3000,你会看到 React 的欢迎页面。

🎉 恭喜!你现在拥有了一个运行中的 React 项目!


核心概念:React 中的关键知识点通俗讲解

用户交互流程图-1

核心概念:React 中的关键知识点通俗讲解

虽然 React 功能强大,但有几个基础概念非常重要,它们就像砖头一样,是搭建 React 应用的基础。

1. 组件(Component)

组件是 React 的最小单位。就像积木一样,我们可以用多个组件拼出一个完整的网页。

示例:定义一个组件

新建一个文件 src/HelloWorld.js,内容如下:

import React from 'react';

function HelloWorld() {
  return (
    <div>
      <h1>你好,世界!</h1>
      <p>这是我的第一个React组件</p>
    </div>
  );
}

export default HelloWorld;

然后再修改 src/App.js 文件,使用这个组件:

import React from 'react';
import HelloWorld from './HelloWorld';

function App() {
  return (
    <div className="App">
      <HelloWorld />
    </div>
  );
}

export default App;

保存之后,刷新浏览器,可以看到新添加的内容了!

2. JSX 语法(JavaScript + XML)

上面我们写的类似 HTML 的代码其实叫做 JSX。它是 React 的一种语法扩展,让我们可以直接在 JavaScript 中写 HTML 风格的结构。

例如:

<h1 style={{ color: 'red' }}>红色标题</h1>

注意:JSX 最外层必须只有一个父节点,否则会报错。

3. Props(组件之间的通信)

你可以把组件理解成一个函数,props 就是传递给它的参数。

示例:传参给组件

修改 src/HelloWorld.js 如下:

function HelloWorld(props) {
  return (
    <div>
      <h1>你好,{props.name}!</h1>
    </div>
  );
}

再修改 App.js 使用 props:

<HelloWorld name="张三" />

刷新后可以看到 “你好,张三!”的效果。

4. State(组件内部的状态)

State 是组件自己的“记忆”,它可以存储一些变化的数据,比如按钮是否被点击过、输入框的内容等等。

示例:使用状态

我们来实现一个“点击计数器”。

修改 src/App.js 内容如下:

import React, { useState } from 'react';

function App() {
  const [count, setCount] = useState(0);

  return (
    <div className="App">
      <h1>你点击了 {count} 次</h1>
      <button onClick={() => setCount(count + 1)}>点我+</button>
    </div>
  );
}

export default App;

这是一个非常典型的例子,展示了 state 和事件是如何工作的。

5. 事件处理(Event Handling)

React 中的事件处理跟 HTML 类似,只是写法稍微不同。

如上例中 <button onClick={...}>,其中的 onClick 就是一个事件处理器。

React 常见事件:

  • onChange:当 input 框内容改变时触发
  • onSubmit:表单提交时触发
  • onMouseOver:鼠标悬停时触发

实战项目:写一个待办事项应用(To-Do List)

实战项目:写一个待办事项应用(To-Do List)

接下来我们通过一个小项目来巩固前面的知识。我们将写一个“待办事项”应用,功能包括添加任务、删除任务。

步骤 1:初始化项目(如果还没创建的话)

npx create-react-app todo-list
cd todo-list
npm start

步骤 2:设计 UI 结构

我们想要一个输入框让用户输入任务名,还有一个按钮添加任务。任务列表会展示出来。

步骤 3:编写完整代码(直接替换 src/App.js

import React, { useState } from 'react';

function App() {
  const [tasks, setTasks] = useState([]);
  const [input, setInput] = useState('');

  const addTask = () => {
    if (input.trim()) {
      setTasks([...tasks, input]);
      setInput(''); // 清空输入框
    }
  };

  const deleteTask = (index) => {
    const newTasks = tasks.filter((_, i) => i !== index);
    setTasks(newTasks);
  };

  return (
    <div style={{ padding: 20 }}>
      <h1>待办事项</h1>
      <input
        value={input}
        onChange={(e) => setInput(e.target.value)}
        placeholder="输入新任务"
      />
      <button onClick={addTask}>添加任务</button>

      <ul>
        {tasks.map((task, index) => (
          <li key={index}>
            {task}
            <button onClick={() => deleteTask(index)} style={{ marginLeft: 10 }}>删除</button>
          </li>
        ))}
      </ul>
    </div>
  );
}

export default App;

步骤 4:测试功能

刷新页面后,你可以尝试:

  • 在输入框中输入内容,点击【添加任务】
  • 新增的任务会出现在下方列表中
  • 点击【删除】按钮可以移除该任务

恭喜!你已经完成了你的第一个 React 实战项目 🎉


常见问题解答

以下是新手在学习 React 过程中经常遇到的一些问题和解决方法:

Q1:为什么不能在组件中写多个 div?提示“Expected an element at root level of a JSX expression.”

:因为每个组件的返回值必须包裹在一个父元素里。也就是说,你需要将所有内容放进一个 <div><Fragment> 或其他容器中。例如:

✅ 正确写法:

return (
  <div>
    <h1>标题</h1>
    <p>正文</p>
  </div>
);

❌ 错误写法:

return (
  <h1>标题</h1>
  <p>正文</p>
);

Q2:为什么我的组件没有更新?

:React 是基于 state 更新的。如果你修改了变量但没有调用 setState(或 useState 返回的 setter 函数),页面是不会更新的。

Q3:怎么调试 React 项目?

  • 使用 Chrome 开发者工具的 Console 查看错误
  • 安装 React Developer Tools 插件,可以查看组件树和 props、state 数据

插件地址:React Developer Tools

Q4:React 是不是必须学 ES6?

:ES6(现代 JavaScript 语法)是学习 React 的必备知识。常见的如箭头函数、解构赋值、类、模块导入导出等都需要了解。


学习建议:下一步我可以学什么?

CSS动画效果展示-2

你已经完成了 React 的第一课,也做出了一个实用的小项目。那么,接下来你可以考虑继续学习以下方向:

✅ 推荐进阶路线图:

学习阶段 主要内容
初级巩固 熟练使用 Hooks(useState、useEffect、useRef 等)
中级技能 学习路由(React Router)、状态管理(Redux / Context API)
高级实战 构建更复杂的项目,如博客系统、商城项目等
构建部署 使用 Webpack/Vite 打包、部署到 Vercel/GitHub Pages
学习 TypeScript 提升类型安全性和代码质量,成为企业级开发者

🔍 推荐学习资源


总结

本文从 React 的基本概念出发,带你搭建了开发环境,介绍了核心知识点,并通过一个 To-Do 待办事项项目实现了实战演练。虽然 React 初看起来有点复杂,但只要坚持练习、动手实践,你就一定能掌握它!

最后送你一句鼓励:编程最好的老师就是你自己亲手敲下的每一行代码。加油!


如果你想继续深入学习 React,记得关注本教程系列的下一篇文章:《React进阶指南:组件通信与状态管理》。

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝