当前位置:首页 > React

你是如何划分React组件的

2026-01-26 01:11:48React

划分React组件的常见方法

按功能职责划分
将组件分为容器组件(Container Components)和展示组件(Presentational Components)。容器组件负责处理业务逻辑和数据管理,展示组件仅负责UI渲染。例如:UserListContainer处理数据获取,UserList只渲染列表。

按业务模块划分
根据应用的功能模块拆分组件。例如电商应用可分为ProductCardShoppingCartCheckoutForm等,每个组件对应一个明确的业务场景。

你是如何划分React组件的

按复用性划分
将可复用的UI元素抽象为独立组件。例如按钮、输入框、模态框等基础UI组件,或业务中高频复用的组件如AddressPicker

你是如何划分React组件的

按层级结构划分
根据页面层级组织组件。例如HeaderSidebarMainContent等布局组件,或嵌套的子组件如DropdownMenu包含MenuItem

技术驱动划分

  • HOC或自定义Hook:将共享逻辑提取为高阶组件或Hook(如useAuth)。
  • Error Boundary:错误边界组件单独划分以捕获子组件异常。
  • Context Provider:状态管理相关的Provider组件独立维护。

划分原则

  • 单一职责:每个组件只解决一个问题。
  • 低耦合:减少组件间依赖,通过props交互。
  • 高内聚:相关代码(样式、逻辑)集中在一个组件内。
  • 适度粒度:避免过度拆分导致维护成本增加。

示例代码结构

// 按功能职责划分示例
const UserList = ({ users }) => ( 
  <ul>{users.map(user => <li key={user.id}>{user.name}</li>)}</ul> 
);

const UserListContainer = () => {
  const [users, setUsers] = useState([]);
  useEffect(() => { fetchUsers().then(setUsers); }, []);
  return <UserList users={users} />;
};

标签: 你是组件
分享给朋友:

相关文章

vue实现组件拖放

vue实现组件拖放

Vue 实现组件拖放的方法 使用 HTML5 原生拖放 API HTML5 提供了原生的拖放 API,可以通过 draggable 属性、dragstart、dragend、dragover 和 dr…

vue实现tooltips组件

vue实现tooltips组件

Vue实现Tooltips组件的方法 基础实现:使用Vue指令 创建一个自定义指令v-tooltip,通过鼠标事件触发提示框的显示与隐藏。 Vue.directive('tooltip', {…

vue实现水印组件

vue实现水印组件

Vue 水印组件实现 基础水印组件实现 创建一个基础水印组件,通过 props 接收文本、颜色、大小等参数: <template> <div class="watermark…

vue实现倒计时组件

vue实现倒计时组件

Vue 倒计时组件实现 核心思路 通过 setInterval 或 setTimeout 实现时间递减,结合 Vue 的响应式数据更新 UI。需注意组件销毁时清除定时器。 基础实现方案 模板部分…

elementui组件

elementui组件

ElementUI 组件概述 ElementUI 是一套基于 Vue.js 的桌面端组件库,提供丰富的 UI 组件,适用于快速开发中后台系统。以下是其核心组件分类及典型用法。 基础组件 Button…

vue实现组件

vue实现组件

Vue 实现组件的方法 Vue 中实现组件可以通过多种方式,包括全局注册、局部注册、单文件组件(SFC)等。以下是常见的实现方法。 全局注册组件 全局注册的组件可以在任何 Vue 实例或组件中使用。…