React 组件

组件是 React 应用的最小构成单元:一段可复用、可独立维护的界面片段。React 页面本质上是"组件的组合",把界面拆成组件能大幅提升代码的复用性与可读性。

什么是组件

从概念上讲,组件就是一个"接收输入、返回界面"的函数或类:输入是 props,返回的是一段 JSX。使用组件时把它当成自定义标签,约定名称首字母大写,小写开头会被当成普通 HTML 标签。

函数组件

最简单的组件是普通函数,直接返回 JSX:

function Hello() {
  return <h1>你好,React!</h1>
}

在 App 组件里以标签形式使用:<Hello />,页面即显示"你好,React!"。

类组件

用 ES6 class 定义的组件必须继承 Component,并实现 render() 方法:

import { Component } from 'react'

class Welcome extends Component {
  render() {
    return <h1>欢迎光临</h1>
  }
}

函数组件与类组件能完成同样的事情,新项目更推荐函数组件搭配 Hooks(后面的章节会系统讲解)。

组件组合与拆分

组件可以互相嵌套:把大页面拆成多个职责单一的小组件,再组合起来:

function Header() {
  return <header>顶部导航</header>
}

function Footer() {
  return <footer>版权信息</footer>
}

function Page() {
  return (
    <div>
      <Header />
      <Footer />
    </div>
  )
}

拆分原则:某块界面被多处复用、或单个函数过于臃肿时,就把它抽成独立组件。

组件的导入导出

通常一个文件放一个组件,用 export default 导出、import 引入,让组件能跨文件复用:

// src/Header.jsx
export default function Header() {
  return <header>顶部导航</header>
}
// src/App.jsx
import Header from './Header'

function App() {
  return (
    <div>
      <Header />
    </div>
  )
}

小结:组件 = 返回 JSX 的函数(或类),页面由组件树组合而成。先学会用函数组件搭页面,再逐步掌握状态与 props,让组件真正"活"起来。

笔记加载中…