React的组件封装新规范,应该以HTML的结构树进行填写

本文探讨了React组件封装的最佳实践,建议采用HTML结构树的方式提高可读性和灵活性。通过示例说明了如何创建复合组件,利用Context实现组件间的通信,减少接口暴露,提升组件的可复用性。强调在组件设计时要考虑未来可能的用例,避免过度抽象导致复杂性的增加。
摘要由CSDN通过智能技术生成

近一年的code review的工作中,需要制作一些高可用的业务场景组件。那我的首要工作当然也是要写高可用的组件库啦。

在这一段的工作里面,我发现一个问题,像我们这些中小企业来讲一般都是基于antd的组件进行开发。当然react也给出了一套自己的组件封装规范。

可重用的组件是什么样的?

我们以antdmodal组件为例子。按照antd的案例代码来演示。我们平时写代码的时候是怎么阅读的呢?大概是如下情况。

<Modal 
    visible={visible} 
    title="Title" 
    onOk={this.handleOk} 
    onCancel={this.handleCancel} 
    footer={[ 
    <Button key="back" onClick={this.handleCancel}> Return </Button>,
    <Button key="submit" type="primary" loading={loading} onClick={this.handleOk}> Submit </Button>, 
    <Button key="link" href="https://google.com" type="primary" loading={loading} onClick={this.handleOk} > Search on Google </Button>, ]} > 
    <p>Some contents...</p>
    <p>Some contents...</p> 
    <p>Some contents...</p> 
    <p>Some contents...</p>
    <p>Some contents...</p> 
</Modal> 

我们在进行抽象组件的时候,把很多的行为,使用参数的形式进行了传递,从而进行功能上的多态行为实现。

这么做的问题是什么呢?

有没有发现我们在阅读代码的时候,这种写法有点变扭?我吗需要去看一个title的结构的时候是不知道这个组件是长什么样子的。或者footer的这些样子我们也需要进行文档的api查阅后才知道它是用来做什么!我们只有一个children阅读起来比较可观。

在这里我比较期待

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值