ToolkitX
知识库工具箱

React 基础

组件、JSX、State、Props

25min·进阶

01. React 组件基础——搭 UI 积木

React 的核心思想就是把 UI 拆成一个个独立的、可复用的「组件」。每个组件就像一块积木,你可以随便组合它们搭出复杂的界面。 组件就是一个返回 JSX 的函数。JSX 看起来像在 JavaScript 里写 HTML,其实会被编译成普通的 JS 函数调用。组件名必须以大写字母开头——React 靠这个区分「自定义组件」和「普通 HTML 标签」。
jsx
// 函数组件(现代 React 的标准写法)
function Welcome({ name }: { name: string }) {
return (
    <div className="welcome">
        <h1>你好,{name}!</h1>
        <p>欢迎使用 React</p>
    </div>
);
}

// 使用组件——像搭乐高一样拼起来
function App() {
return (
    <div>
        <Welcome name="张三" />
        <Welcome name="李四" />
    </div>
);
}

export default App;

02. Props 与 State——数据怎么流动

React 里的数据分两种: Props——父组件传给子组件的数据,子组件只能读不能改。就像爸妈给你的零花钱,你可以花但不能在钱上改面额。 State——组件自己管理的内部数据,改了 State 就会自动重新渲染界面。就像你自己的账户余额,想取就取想存就存。 useState 是最基础的 State Hook。调用它返回一个数组:第一个是当前值,第二个是更新这个值的函数。每次调用更新函数,组件就会重新渲染。
jsx
import { useState } from 'react';

function Counter() {
const [count, setCount] = useState(0);

return (
    <div>
        <p>当前计数:{count}</p>
        <button onClick={() => setCount(count + 1)}>加 1</button>
        <button onClick={() => setCount(count - 1)}>减 1</button>
        <button onClick={() => setCount(0)}>重置</button>
    </div>
);
}
State 更新是异步的。如果新状态依赖于旧状态,要用函数式更新:setCount(prev => prev + 1),避免拿到过期的值。

知识测验

1/5正确 0

React 组件名为什么必须大写开头?

下一节

Hooks 详解

下一节