跟着感觉走 threejs 第一篇

本文以一个常见的前端开发场景为例,讨论如何在使用react+antd开发时,针对一个需要分页和搜索功能的select组件,进行高复用、低耦合的代码封装。通过分析业务需求和组件的灵活性,提出了组件封装中的关键问题和解决方案,强调了组件的通用性和自定义逻辑的重要性,以提高代码质量并减少重复工作。
摘要由CSDN通过智能技术生成

引言

在实际开发的过程中,你是否经常遇到这样一种情形。需要用到一个组件,这个组件你抑或者其他小伙伴之前已经实现了,你内心窃喜,又可以使出拿来主义大法了。打开一看,发现之前的组件代码其中包含了很多强耦合的代码逻辑,导致不能够完全为你所用,不香不臭,弃之可惜食之无味。

这个时候,聪明的你,很快的想到了使出必杀技copy大法。但过来人的我相信,你内心深处是处于极度抗拒的,一方面又想赶快实现业务功能开发,另一方面又在质疑自己,为啥不能认真写出一个完美兼容所有场景的组件。你一边质疑自己,一边嘴上说着真香,画面最终定格在了control+v

这篇文章,会从一个很简单的场景进行发散,逐渐延伸出如何写出高复用、低耦合的代码。同时这也是面试过程中,面试官喜欢提及的高频词汇,莫非其中暗藏玄机?

背景

最近在开发一个我司的后台功能需求,用的技术栈就是react+antd。在开发的过程中,涉及到一个select选择器,其中的选项是通过接口返回的,并且是要具备分页逻辑的。可以想象,这是一个很常见的业务场景。

最初的想法

由于该业务场景不是第一次出现了,所以别的功能中,肯定有类似的业务逻辑。最简单的做法就是直接把别的功能中的该部分代码粘贴过来,修修补补即可,这样还可以快点回家陪孩子玩~

就在我按下复制按钮的那一刹那,我在想,难道这就是我最终的归途吗?下次遇到同样的功能模块,依然这样做?这样一想,我不禁打了个冷颤。如果这样下去,那和咸鱼又有什么区别呢?你说你工作了多年,莫非只会copy大法…

这个时候,可能有不少同学已经在心里暗暗喷我了。因为本身就是个简单的功能,antd又这么好用,已经为我们封装了select组件,直接拿过来,再加上点自己的业务逻辑不就行了?还能玩出什么花样来?

带着上面提到的一堆疑惑,我们一一来看。在这之前,我们先大致画出组件大概的模样

从该图中我们可以得出以下几点重要信息

  • 可支持搜索,也就是根据你的搜索关键字,需要去调用后端接口,获取返回值进行回显
  • 每一个option中,除了文案外,颜色的小方块是该选项的头像
  • 需要支持自定义placeholder
  • 可能在某些场景下需要支持多选

理解

如果我们从事编程工作,那么一定听过我在前面提到的低耦合高复用的概念。

对于它们,我是这样理解的:

将我们的常用业务模块,封装成一个组件,其中做了很多思考与实现࿰

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值