React 封装一个合格的【获取验证码组件】

科技   2024-11-23 09:01   广东  

前言

大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~

获取验证码组件

最近封装了一个 获取验证码 的组件,虽然算是一个比较小的组件,但是还是感觉比较有意思的,大致效果如下


最基础的组件

我们可以从简单的开始,先实现一个比较简单基础的组件,后面再去完善它,最基础的代码如下


这个时候可以看到这个组件的雏形已经出来了!


实现倒计时

接下来我们需要写一个 useCountDown 的 Hooks ,来编写倒计时的逻辑~大家在风中组件的时候,要有这种习惯,就是把一些逻辑比较紧密的代码抽取到一个 Hooks 中去

注意:setState 是异步更新,所以想获取最新值需要使用useRef


封装完后可以到组件中去使用


这样就能达到想要的倒计时效果,但是还是有很多不足,比如按钮没有禁用,而且尺寸不能自定义,也没有响应式把验证码内容暴露出去


完善组件封装

上面的组件封装的太简单了,一个好的组件需要具有比较好的自定义性、拓展性,所以我们需要完善一下组件的封装

可以把这个组件拆成两个部分:

  • CountdownInput输入框
  • CountButton按钮

CountdownInput输入框


CountButton






最终使用


效果如下


我是林三心

  • 一个待过小型toG型外包公司、大型外包公司、小公司、潜力型创业公司、大公司的作死型前端选手;
  • 一个偏前端的全干工程师;
  • 一个不正经的掘金作者;
  • 逗比的B站up主;
  • 不帅的小红书博主;
  • 喜欢打铁的篮球菜鸟;
  • 喜欢历史的乏味少年;
  • 喜欢rap的五音不全弱鸡如果你想一起学习前端,一起摸鱼,一起研究简历优化,一起研究面试进步,一起交流历史音乐篮球rap,可以来俺的摸鱼学习群哈哈,点这个,有7000多名前端小伙伴在等着一起学习哦 --> 

前端之神
一位前端小菜鸡,写过400多篇原创文章,全网有6w+个前端朋友,梦想是成为”前端之神“~
 最新文章