零基础也能学会:从零搭建你的第一个 React 应用

Postman使者
2026-01-18 06:33
阅读 1995

大家好,我是一个自学转码成功的文科生。三年前,我连“前端”和“后端”都分不清,如今却在一家互联网公司做前端开发。当初学 React 的时候,我被各种术语、工具和配置搞得晕头转向——Node.js 是什么?npm 和 yarn 有啥区别?为什么还要装 Git?今天,我就用自己踩过的坑、总结的经验,写一篇真正适合零基础朋友的 React 入门教程。

这篇教程不讲高深理论,只带你从安装到跑通第一个应用,还会穿插我作为新手时的开发心得,以及如何把代码托管到 GitHub 上,甚至为未来做产品运营打下基础。无论你是学生、转行者,还是纯粹好奇的技术爱好者,都能跟着一步步走完。


一、React 是什么?能用来做什么?

简单说,React 是一个用来构建用户界面的 JavaScript 工具库,由 Facebook(现 Meta)开发并开源。你每天刷的微博、小红书、抖音网页版,背后很可能就用了 React。

它的核心思想是:把页面拆成一个个“组件”,比如导航栏、按钮、商品卡片,每个组件独立工作,又能组合起来形成完整页面。这样不仅代码更清晰,也更容易维护和复用。

我当初学的时候,最震撼的就是:原来网页可以像搭积木一样拼出来!


二、环境准备:5 分钟搞定开发环境

别被“环境搭建”吓到,其实就三步。我们用官方推荐的 Vite + React 模板,它比传统 Create React App 更快、更轻量。

第一步:安装 Node.js

React 项目依赖 Node.js 来运行开发服务器和打包工具。

  1. 打开 https://nodejs.org
  2. 下载 LTS 版本(长期支持版,更稳定)
  3. 安装时一路“下一步”即可

安装完成后,打开终端(Windows 用 PowerShell 或 CMD,Mac 用 Terminal),输入:

node -v
npm -v

如果看到版本号(比如 v18.17.09.6.7),说明安装成功!

💡 开发心得:不要用最新版 Node,LTS 版兼容性最好,避免踩坑。

第二步:创建 React 项目

在终端中执行以下命令(假设你想把项目放在桌面):

# 进入桌面目录
cd ~/Desktop

# 创建新项目(按提示操作)
npm create vite@latest my-react-app -- --template react

# 进入项目文件夹
cd my-react-app

# 安装依赖
npm install

# 启动开发服务器
npm run dev

你会看到类似这样的输出:

  VITE v4.3.9  ready in 234 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose

复制 http://localhost:5173/ 到浏览器打开,如果看到一个会动的 React Logo 和“Vite + React”字样,恭喜你!环境搭好了!

🚫 常见问题:如果卡在 npm install,可能是网络问题。可以尝试换源:

npm config set registry https://registry.npmmirror.com

第三步:安装代码编辑器(推荐 VS Code)

https://code.visualstudio.com 下载安装。装好后,用 VS Code 打开 my-react-app 文件夹,你会看到如下结构:

my-react-app/
├── public/
├── src/
│   ├── App.jsx
│   ├── main.jsx
│   └── ...
├── index.html
├── package.json
└── ...

其中,src/App.jsx 就是我们要修改的主文件。


三、核心概念:用大白话讲清楚 React

1. JSX:HTML 写在 JavaScript 里?

你看 App.jsx 里有这样一段代码:

function App() {
  return (
    <div>
      <h1>Hello, React!</h1>
    </div>
  );
}

这看起来像 HTML,但其实叫 JSX —— 一种 JavaScript 的语法扩展。它让开发者能用类似 HTML 的方式写 UI,但最终会被编译成纯 JavaScript。

✅ 记住:JSX 不是字符串,也不是 HTML,它是 React.createElement() 的语法糖。

2. 组件:UI 的“乐高积木”

上面的 App 函数就是一个 函数组件。你可以把它想象成一个“模具”,每次调用就能生成一个 UI 片段。

比如,我们写一个按钮组件:

// Button.jsx
export default function Button() {
  return <button style={{ padding: '8px', margin: '4px' }}>点我</button>;
}

然后在 App.jsx 中使用:

import Button from './Button';

function App() {
  return (
    <div>
      <h1>我的第一个 React 应用</h1>
      <Button />
      <Button />
    </div>
  );
}

刷新页面,你会看到两个按钮!这就是组件复用的魅力。

3. 状态(State):让页面“动”起来

静态页面很无聊,我们要让数据变化。React 用 useState 钩子(Hook)管理状态。

import { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0); // 初始值为 0

  return (
    <div>
      <p>你点击了 {count} 次</p>
      <button onClick={() => setCount(count + 1)}>+1</button>
    </div>
  );
}
  • count 是当前状态值
  • setCount 是更新它的函数
  • 每次调用 setCount,React 会自动重新渲染组件

💡 开发心得:新手常犯错误是直接修改 count++,这不会触发更新!必须用 setCount


四、实战:做一个“待办事项”小应用

现在,我们整合所学,做一个简单的 Todo List。

步骤 1:替换 App.jsx 内容

// src/App.jsx
import { useState } from 'react';

function App() {
  const [todos, setTodos] = useState([]);
  const [input, setInput] = useState('');

  const addTodo = () => {
    if (input.trim()) {
      setTodos([...todos, { id: Date.now(), text: input, done: false }]);
      setInput('');
    }
  };

  const toggleTodo = (id) => {
    setTodos(
      todos.map(todo =>
        todo.id === id ? { ...todo, done: !todo.done } : todo
      )
    );
  };

  const deleteTodo = (id) => {
    setTodos(todos.filter(todo => todo.id !== id));
  };

  return (
    <div style={{ padding: '20px', maxWidth: '500px', margin: '0 auto' }}>
      <h1>我的待办清单</h1>
      
      <div style={{ marginBottom: '20px' }}>
        <input
          type="text"
          value={input}
          onChange={(e) => setInput(e.target.value)}
          placeholder="输入任务..."
          style={{ padding: '8px', marginRight: '8px', width: '70%' }}
        />
        <button onClick={addTodo} style={{ padding: '8px' }}>
          添加
        </button>
      </div>

      <ul>
        {todos.map(todo => (
          <li key={todo.id} style={{
            display: 'flex',
            justifyContent: 'space-between',
            padding: '8px',
            borderBottom: '1px solid #eee'
          }}>
            <span
              onClick={() => toggleTodo(todo.id)}
              style={{
                cursor: 'pointer',
                textDecoration: todo.done ? 'line-through' : 'none',
                color: todo.done ? '#888' : '#000'
              }}
            >
              {todo.text}
            </span>
            <button
              onClick={() => deleteTodo(todo.id)}
              style={{ color: 'red', background: 'none', border: 'none' }}
            >
              删除
            </button>
          </li>
        ))}
      </ul>
    </div>
  );
}

export default App;

步骤 2:测试功能

  • 在输入框输入文字,点击“添加”
  • 点击任务文字可标记完成(加删除线)
  • 点击“删除”可移除任务

全部功能仅用 60 行代码实现!这就是 React 的威力。

🔧 性能优化小贴士:虽然这个小应用不需要,但未来项目中,如果列表很长,可以用 React.memo 或虚拟滚动来提升性能。


五、把代码上传到 GitHub(为运营打基础)

无论你未来是找工作、做开源项目,还是自己创业,GitHub 都是必备技能。它不仅是代码托管平台,更是展示你能力的“技术简历”。

1. 注册 GitHub 账号

访问 https://github.com,注册一个免费账号。

2. 初始化本地仓库

在项目根目录(my-react-app)执行:

git init
git add .
git commit -m "feat: initial commit with todo app"

3. 创建远程仓库

  • 在 GitHub 点击右上角 + → “New repository”
  • 命名(如 my-first-react-app),不要勾选“Initialize this repository with a README”
  • 点击 “Create repository”

4. 关联并推送

按页面提示执行(替换你的用户名):

git remote add origin https://github.com/你的用户名/my-first-react-app.git
git branch -M main
git push -u origin main

现在,你的代码已经安全存放在 GitHub 上了!

💡 运营视角:很多初创团队会把 MVP(最小可行产品)代码开源,吸引早期用户和贡献者。即使你只是学习,公开项目也能让招聘方看到你的动手能力。


六、新手常见问题解答

问题 解决方案
页面没更新? 检查是否用了 setXXX,而不是直接修改变量
报错 Module not found 确保在项目根目录执行 npm install
中文显示乱码? index.html<head> 中加入 <meta charset="UTF-8">
想用 CSS 样式怎么办? 直接在 .jsx 文件中写内联样式,或新建 .css 文件 import
如何部署上线? npm run build 生成 dist 文件夹,上传到 Vercel、Netlify 等平台

七、下一步学习建议 & 避坑指南

学习路径推荐:

  1. 巩固基础:深入理解 useStateuseEffect、props 传递
  2. 路由管理:学习 react-router-dom 实现多页面跳转
  3. 状态管理:小型项目用 Context,大型项目再学 Redux 或 Zustand
  4. 项目实战:模仿一个真实网站(如天气预报、博客)

避坑指南(来自我的血泪史):

  • ❌ 不要一上来就学 TypeScript、Webpack 配置——先跑通逻辑
  • ❌ 不要盲目追求“最新框架”——React 生态稳定,先掌握核心
  • ✅ 多写代码,少看视频——编程是手艺,不是知识
  • ✅ 遇到报错,先读错误信息,90% 的问题 Google 一下就有答案

结语:你已经迈出了关键一步

恭喜你,完成了从零到第一个 React 应用的全过程!我当初学的时候,光是环境配置就折腾了三天,而你现在可能只用了半小时。技术在进步,学习门槛在降低,但坚持动手实践永远是最重要的。

这篇文章不仅是一份教程,更是我作为文科生转码路上的一份礼物。如果你觉得有用,不妨把你的 Todo App 上传到 GitHub,发个朋友圈,或者分享给同样想学的朋友。

记住:每一个大神,都曾是连“Hello World”都跑不通的新手。

现在,去写你的第二行代码吧!

评论 0

最热最新
暂无评论
Postman使者Lv.1
0
影响力
0
文章
0
粉丝