Module 02 · Understanding Function Components with Array and DOM Manipulation函数组件、数组与 DOM 操作
Component Composition组件组合
欢迎来到 组件组合 的学习!通过观看本视频,你将能够:
- 描述组件组合的目的
- 解释函数组件组合的原则
- 提供组件组合的示例
什么是组件组合?
组件组合允许你将多个组件组合起来,构建更复杂的功能。通过使用函数组件,你可以将多个小的组件组合起来,创建出更复杂的 UI 结构,就像使用小的积木搭建一个更大的结构。
组件组合的原则
在进行组件组合时,有几个核心原则需要理解,包括:
- 抽象(Abstraction)
- 可重用性(Reusability)
- 层次结构(Hierarchy)
- Props 和 Children
- 高阶组件(Higher-Order Components, HOCs)
抽象(Abstraction)
抽象原则意味着你可以创建可重用的组件,将 UI 功能进行封装。通过这种方式,可以将一个庞大的 UI 结构分解成多个较小的代码块,便于组织和维护。组件组合使得这些代码块可以被重复使用,从而避免代码重复。

可重用性(Reusability)
通过组件组合,你可以创建可重用的组件,不必在每次需要时重新编写相同的代码。这样,组件可以灵活地应用在不同的地方。
层次结构(Hierarchy)
组件组合支持将组件组织成父子层次结构。这样的层次结构帮助组织代码并推动模块化设计,使组件之间的数据传递更加清晰和容易管理。

Props 和 Children
组件组合使得数据传递变得更加简单。Props 允许父组件向子组件传递数据,Children 使得父组件可以将整个子组件传递给其他组件。

高阶组件(Higher-Order Components, HOCs)
高阶组件是一种函数,它接受一个组件作为输入并返回一个增强功能的组件。HOCs 允许你在不修改组件实现的情况下,为组件添加新的功能,如状态管理或逻辑。

组件组合示例
我们来通过一个实际的示例来展示这些组合原则的使用方法。假设我们正在构建一个用于写作小说的博客。以下代码展示了如何将不同功能的组件封装起来,创建一个通用的博客文章组件,包含标题、作者、类型和描述等内容。
代码示例:博客组件的组合
在实际应用中,通常你会将这些组件组织成不同的文件,以提高代码的组织性和可维护性。
1.标题组件(Title Component)

import React from 'react';
function Title(props) {
return <h1>{props.title}</h1>;
}
export default Title;
2.作者组件(Author Component)

import React from 'react';
function Author(props) {
return <h3>{props.author}</h3>;
}
export default Author;
3.描述组件(Description Component)

import React from 'react';
function Description(props) {
return <p>{props.description}</p>;
}
export default Description;
4.类型组件(Type Component)

import React from 'react';
function Type(props) {
return <p>{props.type}</p>;
}
export default Type;
高阶组件(Higher-Order Component)
接下来,我们创建一个高阶组件,这个组件将所有其他组件组合在一起,形成一个完整的博客页面。


import React from 'react';
import Title from './Title';
import Author from './Author';
import Description from './Description';
import Type from './Type';
function NovelBlog(props) {
return (
<div>
<Title title={props.title} />
<Author author={props.author} />
<Type type={props.type} />
<Description description={props.description} />
</div>
);
}
export default NovelBlog;
主应用组件(Main App Component)
最后,我们在主应用组件中使用上述所有组件,来构建一个完整的页面。

import React from 'react';
import NovelBlog from './NovelBlog';
function App() {
const blogData = {
title: "小说标题",
author: "作者姓名",
description: "小说描述",
type: "小说类型"
};
return <NovelBlog {...blogData} />;
}
export default App;
在这个例子中,我们将 NovelBlog 组件嵌套在主应用组件中,并传递了标题、作者、描述和类型等数据。
总结
在本视频中,你学习了如何通过组件组合将小的组件组合成复杂的 UI。组件组合的原则包括:
- 抽象(Abstraction):使代码模块化,便于重用和维护。
- 可重用性(Reusability):组件可以多次使用,而无需重复编写相同的代码。
- 层次结构(Hierarchy):将组件组织成父子层次,简化数据传递和代码管理。
- Props 和 Children:通过 props 传递数据,子组件可以通过
children传递给父组件。 - 高阶组件(HOCs):使用高阶组件来扩展已有组件的功能。
通过这些原则,你可以在 React 中高效地构建和维护复杂的 UI。🎉
继续加油,掌握更多 React 的精髓!🚀