React入门教程:从安装到第一个应用
一、什么是React?它能做什么?

在开始学习之前,我们先来回答一个问题:React 是什么?
简单地说,React 是一个用来构建用户界面(也就是网页前端)的 JavaScript 库。你可以把它想象成搭积木的工具,只不过这些“积木”是网页上的按钮、输入框、列表等等。
为什么选择 React?
- 高效易用:React 的结构清晰,便于组织和维护代码。
- 组件化开发:你把每个功能模块当作“零件”一样拼装起来,代码更整洁、更容易复用。
- 广泛使用:Facebook、Netflix、Airbnb 等许多大公司都在用 React。
- 社区活跃:遇到问题时,很容易找到帮助和资源。
总之,无论你是想做个人网站,还是大型企业项目,React 都是一个非常好的起点。
二、环境准备:搭建你的 React 开发环境

在真正写 React 代码之前,我们需要准备好开发环境。这一步可能看起来有点难,但其实非常简单,只需要几个步骤就能搞定!
1. 安装 Node.js 和 npm
首先你需要安装 Node.js 和它的包管理器 npm。它们是用来运行和安装 React 工具的基础。
操作步骤:
- 打开浏览器,访问 https://nodejs.org
- 下载并安装 LTS(长期支持)版本
- 安装完成后,在终端(或命令行)中输入:
node -v
npm -v
如果看到类似 v16.x.x 和 8.x.x 的输出,说明安装成功了!
2. 使用 Create React App 创建项目
接下来我们要用官方推荐的工具——Create React App 来创建一个新的 React 项目。
操作步骤:
打开终端,执行下面这条命令:
npx create-react-app my-first-app
这里:
my-first-app是你项目的名称,可以改成你喜欢的名字npx是 npm 提供的命令,用于临时运行某个包
等这个过程完成后,进入项目目录:
cd my-first-app
然后启动开发服务器:
npm start
稍等片刻,浏览器会自动打开一个页面,默认地址是 http://localhost:3000,你会看到 React 的欢迎页面。
到这里,我们的开发环境就准备好了!
三、React 核心概念讲解
这一部分我们将介绍 React 的几个核心概念,用最简单的语言解释清楚,让你快速上手。
1. 什么是组件?
React 的核心思想就是 组件化开发。你可以把整个网页看作是由很多小部件组合而成,每一个小部件就是一个组件。
例如:
- 导航栏是一个组件
- 按钮是一个组件
- 用户信息卡片是一个组件
示例代码:创建一个简单的组件
打开你的项目文件夹中的 src/App.js 文件,将内容替换为:
import React from 'react';
function HelloWorld() {
return (
<div>
<h1>你好,我是React!</h1>
<p>这是我的第一个组件</p>
</div>
);
}
export default HelloWorld;
保存后回到浏览器,你应该可以看到新的文字内容。
📌 这里的重点是:
- 组件本质上就是一个函数(也可以是类)
- 返回的是 HTML 结构,这种语法叫做 JSX(听起来很高大上,其实是带 HTML 标签的 JavaScript)
2. JSX 是什么?
JSX 是 React 中特有的一种写法,允许我们在 JavaScript 中直接写 HTML 类似的结构。
举个例子:
const element = <h1>这是一个标题</h1>;
虽然看上去像 HTML,但它其实是 JavaScript 的一部分,会被 React 自动翻译成可以渲染的内容。
✅ 小提示:你可以在返回值里写任何 HTML 元素,比如 <div>、<p>、<button> 等等。
3. props 是什么?怎么用?
props 是组件之间的“通信方式”。就像是给一个组件传入参数,让它的内容或行为发生变化。
示例:传递 props
我们来修改一下上面的组件,让它接收一个名字:
import React from 'react';
function Greeting(props) {
return (
<div>
<h1>你好,{props.name}!</h1>
</div>
);
}
export default Greeting;
然后在 src/index.js 中这样调用它:
import React from 'react';
import ReactDOM from 'react-dom/client';
import Greeting from './App'; // 假设我们将组件保存为 App.js
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Greeting name="小明" />);
刷新页面,应该能看到:
你好,小明!
📌 总结:props 是组件之间传递数据的方式。
4. state 是什么?如何管理状态?
State 就是组件内部的状态,类似于变量,但它能在数据变化时自动更新页面。
示例:使用 useState 管理状态
我们来实现一个“点击按钮显示次数”的例子:
import React, { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return (
<div>
<p>你点击了 {count} 次</p>
<button onClick={() => setCount(count + 1)}>点我</button>
</div>
);
}
export default Counter;
📌 解释:
useState(0)初始化了一个状态变量count,默认值是 0setCount()是更新状态的方法- 每次点击按钮,
count变化,React 会自动更新页面
这就是 React 的响应式机制!
四、实战项目:做一个简单的待办事项列表(To-do List)
现在我们来动手做一个简单的项目 —— 待办事项列表,巩固前面学到的知识。
第一步:初始化项目结构
确保你在项目目录下,并运行:
npm start
编辑 src/App.js 文件,清空原有内容,准备写我们自己的代码。
第二步:编写组件
我们将创建以下几个组件:
- 输入框和按钮(添加任务)
- 列表项(展示所有任务)
完整示例代码如下:
import React, { useState } from 'react';
import './App.css';
function TodoItem({ text, index, onDelete }) {
return (
<li>
{text}
<button onClick={() => onDelete(index)}>删除</button>
</li>
);
}
function App() {
const [todos, setTodos] = useState([]);
const [inputValue, setInputValue] = useState('');
function handleAdd() {
if (inputValue.trim()) {
setTodos([...todos, inputValue]);
setInputValue('');
}
}
function handleDelete(index) {
const newTodos = todos.filter((_, i) => i !== index);
setTodos(newTodos);
}
return (
<div className="App">
<h1>待办事项列表</h1>
<div>
<input
type="text"
value={inputValue}
onChange={(e) => setInputValue(e.target.value)}
/>
<button onClick={handleAdd}>添加</button>
</div>
<ul>
{todos.map((todo, index) => (
<TodoItem
key={index}
text={todo}
index={index}
onDelete={handleDelete}
/>
))}
</ul>
</div>
);
}

export default App;
这段代码做了什么事?
- 我们用了两个组件:一个用来显示每一条待办事项(
TodoItem),另一个是主组件(App) - 使用了
useState来管理任务列表和输入框内容 - 添加和删除功能通过数组操作完成
第三步:美化界面(可选)
你可以打开 src/App.css 文件,添加一些样式,让界面更好看:
.App {
font-family: sans-serif;
max-width: 500px;
margin: 30px auto;
padding: 20px;
border: 1px solid #ccc;
border-radius: 8px;
}
ul {
list-style-type: none;
padding-left: 0;
}
li {
margin-top: 10px;
display: flex;
justify-content: space-between;
}
button {
cursor: pointer;
}
保存后刷新页面,你会看到一个简洁漂亮的待办事项列表!
🎉 恭喜你完成了第一个 React 应用!
五、新手常见问题与解答(FAQ)
Q1:React 是不是很难?我需要掌握哪些前置知识?
A:React 不是特别难,只要你了解基础的 HTML、CSS 和 JavaScript,就可以开始学习。如果你完全零基础,建议先学完前端基础知识再开始 React。
Q2:JSX 是必须的吗?能不能用普通 JS 写 React?
A:可以用不带 JSX 的方式写 React,但大多数开发者都使用 JSX,因为它更直观。建议新手也从 JSX 学起。
Q3:React 和 Vue、Angular 有什么区别?
A:React 是 Facebook 出的,偏向灵活和自由;Vue 更适合初学者,上手更快;Angular 是谷歌出品,更适合大型企业项目。三者都很流行,React 社区最大。
Q4:我写的代码报错了怎么办?
A:常见的错误包括:
- 拼写错误
- 忘记导入导出
- 没有加括号、引号等
别担心,浏览器控制台(按 F12)会有详细的错误提示。多试几次你就学会了怎么查错。
六、下一步学习建议
恭喜你完成了 React 的入门!下一步可以从以下方向继续深入学习:
✅ 基础进阶
- 学习 Hooks 的更多用法(如
useEffect、useRef等) - 掌握条件渲染、列表循环等技巧
- 学习事件绑定、表单处理等交互功能
📚 工具链提升
- 学习使用 ESLint、Prettier 美化代码
- 掌握 React Router 实现页面跳转
- 学习用 Redux 或 Context API 管理全局状态
💻 实战项目推荐
- 天气查询应用
- 博客系统
- 电商购物车
- 记账小工具
🔍 资源推荐
- React 官方文档
- React 学习路径(中文)
- LeetCode(练习 JS 编程)
总结
本教程带你从零开始,了解了 React 是什么,如何搭建开发环境,掌握了组件、props、state 等核心概念,并完成了一个实用的小项目。
记住一句话:编程最好的方法就是多写代码、多练项目。不要怕犯错,错误是你进步的阶梯!
祝你在学习 React 的旅程中一路顺风,早日成为前端高手!
如果你觉得这篇文章对你有帮助,请点赞+关注我,我会持续为你带来高质量的前端学习内容!

评论 0