零基础也能上手:React 从安装到跑通第一个应用
大家好,我是你们的老朋友,一个在大厂写了三年前端代码、业余时间在 B站做技术分享的 UP 主。经常有刚入门的同学私信我:“React 到底怎么开始学?”、“装个环境就卡住了怎么办?”——我太理解这种感受了!我当初学的时候,光是 Node.js 和 npm 的关系就搞了整整两天。
今天这篇教程,就是为完全零基础的朋友量身打造的。不讲理论堆砌,只带你一步步把 React 跑起来,亲手写出第一个能交互的小应用。全程实践驱动,每一步都有可运行的代码。准备好了吗?我们出发!
一、React 是什么?为什么值得学?
简单说:React 是一个用于构建用户界面的 JavaScript 库,由 Facebook(现 Meta)开发并开源。它最大的特点是“组件化”——把页面拆成一个个独立的小积木(组件),每个积木自己管理自己的样子和行为。
比如一个聊天窗口,可以拆成:
- 消息列表组件
- 输入框组件
- 发送按钮组件
这些组件组合起来,就是一个完整功能。这种方式让代码更清晰、更容易维护,也是现代前端开发的主流思想。
💡 技术分享小贴士:React 本身只管“视图层”,但它有庞大的生态(如 React Router 做路由、Redux 管状态),几乎能构建任何复杂 Web 应用。
二、环境准备:三步搞定开发工具
别被“环境配置”吓到!现在有了官方脚手架,5 分钟就能开工。
第 1 步:确认你的电脑有这些基础工具
| 工具 | 作用 | 如何检查(终端/命令行输入) |
|---|---|---|
| Node.js | 运行 JavaScript 的环境 | node -v |
| npm | Node 的包管理器 | npm -v |
如果没安装,请去 Node.js 官网 下载 LTS 版本(长期支持版,最稳定)。
⚠️ 新手避坑:不要手动配置 webpack 或 babel!初学阶段用官方工具就够了。
第 2 步:创建你的第一个 React 项目
打开终端(Windows 用 PowerShell 或 CMD,Mac 用 Terminal),执行:
npx create-react-app my-first-react-app
🔍 小知识:
npx是 npm 5.2+ 自带的命令,它会临时下载并运行create-react-app,不用全局安装。
这个过程会自动:
- 创建项目文件夹
my-first-react-app - 下载所有依赖(React、开发服务器、编译工具等)
- 生成基础项目结构
耐心等待几分钟(取决于网速),看到 Success! 就说明成功了。
第 3 步:启动开发服务器
进入项目目录并启动:
cd my-first-react-app
npm start
浏览器会自动打开 http://localhost:3000,你会看到经典的 React 欢迎页面 🎉
✅ 验证成功标志:页面上有旋转的 React logo,并且控制台没有报错。
三、核心概念:用积木思维理解 React
React 有两个最关键的概念,初学者必须搞懂:
1. 组件(Component):一切皆组件
在 src/App.js 中,你看到这样的代码:
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>Edit <code>src/App.js</code> and save to reload.</p>
</header>
</div>
);
}
这就是一个函数式组件。它本质是一个 JavaScript 函数,返回 JSX(类似 HTML 的语法)。
💡 架构设计思考:为什么用函数?因为函数天然具有“输入 → 输出”的特性。组件接收 props(输入),返回 UI(输出),逻辑清晰,易于测试。
2. JSX:在 JS 里写 HTML?
JSX 不是字符串,也不是 HTML,而是 JavaScript 的语法扩展。它会被编译成普通的 React.createElement() 调用。
比如:
const element = <h1>Hello, world!</h1>;
等价于:
const element = React.createElement('h1', null, 'Hello, world!');
但 JSX 更直观,所以我们几乎都用它。
⚠️ 注意:JSX 中使用
className而不是class,因为class是 JavaScript 保留字。
四、实战:做一个会打招呼的按钮
现在,让我们动手改写 App.js,做一个点击按钮显示问候语的小功能。
步骤 1:清空默认内容
把 App.js 改成这样:
import React from 'react';
import './App.css';
function App() {
return (
<div className="App">
<h1>我的第一个 React 应用</h1>
</div>
);
}
export default App;
保存后,页面会立刻更新(热重载生效!)。
步骤 2:添加状态(State)
我们要实现:点击按钮,显示“你好,React!”。
这需要用到 useState Hook(Hook 是 React 16.8 引入的新特性,让函数组件也能用状态)。
修改 App.js:
import React, { useState } from 'react';
import './App.css';
function App() {
// 声明一个叫 message 的状态,默认值是空字符串
const [message, setMessage] = useState('');
// 点击按钮时,设置 message 的值
const handleClick = () => {
setMessage('你好,React!');
};
return (
<div className="App">
<h1>我的第一个 React 应用</h1>
<button onClick={handleClick}>点我打招呼</button>
{/* 如果 message 有值,就显示出来 */}
{message && <p>{message}</p>}
</div>
);
}
export default App;
关键点解析:
useState('')返回一个数组:当前状态值 + 修改状态的函数onClick={handleClick}:注意不要加括号!否则会立即执行{message && <p>{message}</p>}:JSX 中用逻辑与实现条件渲染
保存后,点击按钮,文字就会出现!恭喜你,已经掌握了 React 最核心的交互模式 ✨
五、新手常见问题 & 解决方案
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
npm start 报错 |
Node.js 版本太低 | 升级到 16+ LTS 版本 |
| 页面空白,控制台报错 | JSX 语法错误(如标签未闭合) | 检查 <div> 是否有对应的 </div> |
| 修改代码不自动刷新 | 浏览器缓存或编辑器未保存 | 确保文件已保存,或重启 npm start |
找不到 create-react-app |
网络问题或权限不足 | 尝试 npx create-react-app@latest |
💡 经验之谈:遇到报错别慌,先看控制台红字,90% 的问题描述得很清楚。
六、下一步学习建议
你已经跨过了最难的第一道坎!接下来,我建议按这个路径深入:
- 巩固基础:多写几个小组件(计数器、待办列表)
- 理解 Props:如何让组件之间传递数据
- 学习 useEffect:处理副作用(如请求数据)
- 尝试 React Router:实现多页面跳转
- 阅读官方文档:react.dev(新版文档超友好!)
🌟 技术分享寄语:编程不是死记硬背,而是“理解 → 实践 → 调试 → 优化”的循环。我当初也是从一个按钮开始的,你现在迈出的这一步,未来回头看会感谢自己。
结语
这篇文章从工具安装到写出可交互的应用,全程不超过 30 行核心代码。React 的魅力就在于:用最简单的模型,解决最复杂的界面问题。
如果你跟着做下来了,不妨在评论区留言“React Hello World!”,让我知道你成功了!也欢迎关注我的 B 站账号(搜索“前端老张”),我会持续更新更多实战教程。
记住:每个大神,都曾是连 npm start 都打错的新手。你,也可以!

评论 0