当前位置:首页 > React

你是如何划分React组件的

2026-01-26 01:11:48React

划分React组件的常见方法

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

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

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

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

技术驱动划分

你是如何划分React组件的

  • 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实现组件跟随

实现组件跟随的常见方法 使用CSS定位 通过CSS的position: fixed或position: absolute属性实现组件跟随。需要结合JavaScript计算目标元素的位置。 <t…

vue实现tooltips组件

vue实现tooltips组件

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

vue实现下拉框组件

vue实现下拉框组件

Vue 下拉框组件实现 基础实现 创建基础下拉框组件,使用v-model实现双向数据绑定: <template> <div class="dropdown"> &…

elementui组件

elementui组件

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

vue实现折叠组件

vue实现折叠组件

实现折叠组件的基本思路 在Vue中实现折叠组件通常需要利用动态绑定和条件渲染。核心是通过控制一个布尔值状态来决定内容是否显示,并添加过渡动画提升用户体验。 基础实现方法 使用v-show或v-if控…

vue实现组件通信

vue实现组件通信

Vue 组件通信方法 Vue 提供了多种方式实现组件间的通信,适用于不同场景。以下是常见的方法: Props 和 Events 父组件通过 props 向子组件传递数据,子组件通过 $emit 触…