前言
众所周知,React中的组件非常的灵活可扩展,不过随着业务复杂度的增加和许多外部工具库的引入,组件往往也会显得浮肿,接下来我们就一起来看看常见的几种,遵循单一职责原则的,组件分割与解耦的方法,话不多说了,来一起看看详细的介绍:
一、分割 render 函数
当一个组件渲染的内容较多时,有一个快速并且通用的方法是创建sub-render函数来简化原来庞大的 render
// ...
}
render() {
return (
为了再次简化sub-render函数,我们还可以采用Functional Components写法,这种方式生成了更小的处理单元,且更有利于测试
const PanelBody = (props) => (
// ...
);
class Panel extends React.Component {
render() {
return (
二、用 props 传递元素
如果一个组件的状态或配置较多,我们可以运用props传递元素而不仅是数据,比如再声明一个组件,使其中的父组件只专注于配置
render() {
return (
// Slot for metadata
{this.props.metadata}
// Slot for actions
{this.props.actions}
父组件
: Saving...;const actions = [];
if (this.props.isSignedIn) {
actions.push(
actions.push(
}
if (this.props.isAuthor) {
actions.push(
}
return
}
}