React.js 前端框架入门指南:从零开始构建你的第一个应用
React 是一个用于构建交互式 UI的 JavaScript 库。组件化:UI 被拆分成独立的组件,便于复用和管理。声明式 UI:使用 JSX(类 HTML 语法)编写代码,使 UI 状态更新更加直观。虚拟 DOM:通过 Diffing 算法优化 DOM 更新,提高性能。React 适用于单页面应用(SPA),但也可以与其他技术结合使用,如 Next.js(服务端渲染)和 React Nativ
React.js 前端框架入门指南:从零开始构建你的第一个应用
React 是一个用于构建用户界面的 JavaScript 库,由 Facebook 开发和维护。它的核心特点是组件化和声明式 UI,广泛应用于 Web 和移动端开发。
本教程将带你快速入门 React,包括:
- React 的基本概念
- 如何搭建 React 开发环境
- 编写你的第一个 React 组件
- React 的核心功能(JSX、状态管理、事件处理、组件通信)
1. 什么是 React?
React 是一个用于构建交互式 UI 的 JavaScript 库。它的主要特点包括:
- 组件化:UI 被拆分成独立的组件,便于复用和管理。
- 声明式 UI:使用 JSX(类 HTML 语法)编写代码,使 UI 状态更新更加直观。
- 虚拟 DOM:通过 Diffing 算法优化 DOM 更新,提高性能。
React 适用于单页面应用(SPA),但也可以与其他技术结合使用,如 Next.js(服务端渲染)和 React Native(移动开发)。
2. 搭建 React 开发环境
方式 1:使用 CDN 快速体验 React(适合入门)
在 HTML 中直接引入 React:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>React 入门</title>
<script src="https://unpkg.com/react@18/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel">
function App() {
return <h1>Hello, React!</h1>;
}
ReactDOM.createRoot(document.getElementById('root')).render(<App />);
</script>
</body>
</html>
这种方式适合快速实验,但不适用于大型项目。
方式 2:使用 Vite 创建 React 项目(推荐)
Vite 是一个现代化的构建工具,性能比 create-react-app
更强。
# 安装 Vite 并创建 React 项目
npm create vite@latest my-react-app --template react
# 进入项目目录
cd my-react-app
# 安装依赖
npm install
# 启动开发服务器
npm run dev
打开浏览器访问 http://localhost:5173/
,你会看到 Vite 的默认 React 页面!
3. React 的核心概念
3.1 JSX 语法(JavaScript XML)
JSX 是一种类似 HTML 的语法,用于描述 UI 结构。例如:
const element = <h1>Hello, React!</h1>;
JSX 实际上是 React.createElement
的语法糖:
const element = React.createElement("h1", null, "Hello, React!");
JSX 代码会被 Babel 编译成 JavaScript,React 负责渲染它。
JSX 规则:
- 必须返回单一根元素(可以用
<></>
作为 Fragment) - 变量插值用
{}
,例如{name}
- 属性用 camelCase 方式,如
className
(而不是class
)
示例:
function App() {
const name = "小明";
return <h1>你好,{name}!</h1>;
}
3.2 组件(Component)
组件是 React 的核心。可以分为:
- 函数组件(推荐)
- 类组件(React 16 之后不推荐)
函数组件:
function Welcome(props) {
return <h1>你好,{props.name}!</h1>;
}
使用:
<Welcome name="小明" />
类组件(了解即可):
class Welcome extends React.Component {
render() {
return <h1>你好,{this.props.name}!</h1>;
}
}
3.3 React 状态(State)
组件内部可以存储状态(state
),状态变化会触发 UI 更新。
import { 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;
每次点击按钮,count
状态会增加,UI 会自动更新。
3.4 事件处理
在 React 中,事件使用 驼峰命名法,并且需要传入一个函数:
function ClickButton() {
function handleClick() {
alert("按钮被点击!");
}
return <button onClick={handleClick}>点击我</button>;
}
事件处理可以使用 箭头函数:
<button onClick={() => console.log("按钮被点击!")}>点击</button>
3.5 组件通信(Props)
父组件可以通过 Props 传递数据:
function Welcome(props) {
return <h1>你好,{props.name}!</h1>;
}
function App() {
return <Welcome name="小明" />;
}
如果 name
变化,Welcome
组件会自动更新。
3.6 条件渲染
React 支持 if
和三元运算符:
function Greeting({ isLoggedIn }) {
return isLoggedIn ? <h1>欢迎回来!</h1> : <h1>请登录</h1>;
}
3.7 列表渲染(map
)
React 推荐使用 map
处理列表:
const fruits = ["苹果", "香蕉", "橙子"];
function FruitList() {
return (
<ul>
{fruits.map((fruit, index) => (
<li key={index}>{fruit}</li>
))}
</ul>
);
}
注意:列表项必须有唯一的 key
以优化渲染性能。
3.8 受控组件(表单绑定)
React 推荐用 useState
绑定表单输入:
function Form() {
const [input, setInput] = useState("");
return (
<input value={input} onChange={(e) => setInput(e.target.value)} />
);
}
4. React 进阶(简要介绍)
4.1 React Router(路由管理)
安装 React Router:
npm install react-router-dom
创建路由:
import { BrowserRouter, Routes, Route } from "react-router-dom";
import Home from "./Home";
import About from "./About";
function App() {
return (
<BrowserRouter>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
</BrowserRouter>
);
}
4.2 状态管理(Redux / Zustand)
Redux:
npm install redux react-redux @reduxjs/toolkit
推荐使用 Zustand:
npm install zustand
5. 结语
恭喜你!你已经掌握了 React 的基本概念:
- JSX 语法
- 组件 & Props
- 状态管理(useState)
- 事件处理
- 列表 & 条件渲染
- 组件通信
如果想深入学习,建议查看 React 官方文档!🚀
如果你喜欢这篇文章,欢迎点赞、收藏或分享!💡
更多推荐
所有评论(0)