构建 React 组件

2025-06-08

构建 React 组件

你用 create-react-app 设置了项目。你有一个文件App.js和一个文件夹components。你开始编写函数,每天添加新的组件。突然间,同一个文件夹中出现了 30 个文件,你开始不知所措。

您是否对此很熟悉?那么,让我们深入探讨可能的解决方案。

评估您的组件库存

有必要了解每个组件的功能,以及它们在组件层次结构中的位置(从容器到子组件)。为了理解这一点,请仔细检查每个组件,并问自己以下问题:

  • 这个组件是容器组件(它保存状态并将其作为道具传递)还是展示组件(它接收道具并呈现它们)?
  • 这个组件的父组件是什么,子组件是什么(如,,<Table><TableRow><TableCell>
  • 这个组件的可复用性如何?它对处理的数据有多依赖?它生成的标记有多具体?
  • 这个组件是否实现了我想要从其他函数调用的函数?

App.js然后,从最底层开始,列出所有组件的完整清单。以下是我使用的模板:

姓名 角色 可重复使用的 导出功能?
应用程序 容器
背景搜索 容器
桌子 容器、演示
表行 容器、演示
表格单元格 推介会 是的
FetchHook 效用 是的 是的

有了这种见解,您就可以构建您的应用程序了。

语义文件夹名称

您将把您的应用程序转换为具有语义文件夹名称的新结构。

首先,构建所有容器和展示组件:

  • 布局:代表整体布局结构的容器和展示组件,例如页眉、主页面、导航栏和页脚
  • 页面:页面是应用程序的独特部分,它们将主容器组件和所有不可重复使用的展示组件分组
  • 组件:所有其他可重复使用的组件,如按钮、卡片、盒子

其次,确定实用程序的性质并将它们移动到适当的文件夹:

  • Redux:当您使用 React Redux 时,将所有代码(包括测试)放在此文件夹中。
  • 钩子:所有可重复使用的钩子都将放在这里
  • Utils:将所有其他导出的函数放在这里

这是应用于我的棋盘游戏应用程序的结构:

src
├── App.js
├── index.js
├── components
│   ├── BgCard.js
│   ├── ...
├── hooks
│   ├── usePagination.js
│   └── withFetchData.js
├── layout
│   ├── Footer.js
│   ├── Loader.js
│   ├── ...
├── pages
│   ├── accountlogin
│   │   └── AccountLogin.js
│   ├── accountregister
│   │   └── AccountRegister.js
│   ├── bgsearch
│   │   ├── BgSearch.js
│   │   ├── BgSearchTable.js
│   │   ├── BgSearchTableRow.js
│   │   ├── ...
│   ├── homepage
│   ├── myaccount
│   ├── mycollection
│   ├── userprofile
│   └── usersearch
├── redux
│   ├── actions.js
│   ├── reducers.js
└── utils
│   ├── utils.js
└── ├── transformXML.js
Enter fullscreen mode Exit fullscreen mode

语义组件名称

你的思路很好。现在,最后一个任务是按照组件出现的语义顺序来命名它们,如上图所示<BgSearch>, <BgSearchTable>, <BgSearchTableRow>。这会给你提供关于复杂页面结构的书面线索,并帮助你思考页面结构。

结论

这篇文章解释了如何将 React 应用构建为符合应用组件层次结构的语义文件夹名称。使用这种结构可以帮助你将每段代码放在明确定义的位置。

鏂囩珷鏉ユ簮锛�https://dev.to/admantium/structuring-react-components-n6g
PREV
[对比] Webpack 和 Parcel,哪个更好?什么是打包工具?入门指南 安装依赖项和预处理器 速度 开发服务器 代码拆分 社区和使用 选项和自定义 总结
NEXT
Javascript 中的回调是什么以及如何使用它们什么是回调为什么我们需要回调回调的回调恭喜😄