React 是一个用于 构建用户界面(UI) 的 前端 JavaScript 库,它由 Facebook(Meta) 开发,并用于构建 单页应用(SPA) 和 组件化 UI。
React 允许你将页面拆分成 多个可复用的组件:
function Button() {
return <button>点击我</button>;
}
组件可以组合:
function App() {
return (
<div>
<h1>欢迎使用 React</h1>
<Button />
</div>
);
}
React 使用 JSX(JavaScript XML) 来写 UI:
const element = <h1>Hello, React!</h1>;
JSX 不是 HTML,它最终会被编译成JavaScript。
React 使用 Virtual DOM 来优化渲染:
State(状态)用于组件的动态数据:
import { useState } from "react";
function Counter() {
const [count, setCount] = useState(0);
return <button onClick={() => setCount(count + 1)}>点击次数: {count}</button>;
}
Props(属性)用于组件之间传递数据:
function Welcome(props) {
return <h1>Hello, {props.name}!</h1>;
}
function App() {
return <Welcome name="Alice" />;
}
组件是 React 的基本单位,分为:
函数组件示例:
function Greeting() {
return <h1>Hello, React!</h1>;
}
React 事件和 HTML 不一样,需要用 {}
:
function Button() {
const handleClick = () => alert("按钮被点击了!");
return <button onClick={handleClick}>点击我</button>;
}
使用 if
或 三元运算符
:
function UserStatus({ isLoggedIn }) {
return isLoggedIn ? <h1>欢迎回来</h1> : <h1>请登录</h1>;
}
使用 .map()
遍历数组:
const users = ["Alice", "Bob", "Charlie"];
function UserList() {
return (
<ul>
{users.map((user, index) => (
<li key={index}>{user}</li>
))}
</ul>
);
}
React Hooks 让你在 函数组件 中使用状态:
import { useState } from "react";
function Counter() {
const [count, setCount] = useState(0);
return <button onClick={() => setCount(count + 1)}>点击次数: {count}</button>;
}
一个标准的 React 项目结构:
my-app/
├── src/
│ ├── components/ # 组件
│ │ ├── Button.tsx
│ │ ├── Header.tsx
│ ├── App.tsx # 主要组件
│ ├── index.tsx # 入口文件
├── public/
│ ├── index.html # HTML 文件
├── package.json # 依赖
├── tsconfig.json # TypeScript 配置
组件化开发 —— 代码复用更高
JSX 语法 —— 更易读、更直观
虚拟 DOM —— 更新更快、更高效
响应式 UI —— 状态驱动视图
React 适用于单页应用(SPA),并且是前端开发的主流框架之一!