前言
本篇是笔者对自己的这一年来的年中总结,之前也是陆陆续续看过一些总结,在6月17日的时候,爬了一下青城山,突然思绪从脑子当中炸出,写下了这篇文章
说在前面的话
在今年的二月份,我入职了我现在的这家公司,相比于去年的情况整体来说是好了一些的。去年笔者的情况是蛮糟糕的,大概是半年是没有收入的,不是说我没有在工作辣,而是你们知道。
不过,这段经历让我心态有了一定的提升,在联盟中,有一句台词是这样的,天下万般兵刃,唯有过往最伤人。当人处于这种情况下,真的很难熬住。回到当时的爬山场景,我也在想,就是我爬的很累很累了,但是我还是要迈出下一步,究竟是为了什么才一路向上的。
我在爬山的时候,累了,我就休息一下,然后又继续前进,路虽不是那么平坦,心却平坦了一些,就像之前我也是这么过来的,让自己休息好了,再继续前进。
所以,我发现我后来对这些事情无关紧要了,就如莎士比亚说过的,凡是过往,皆为序章。一旦发生了的事情就已经成为了过去。不要沉溺于过去,把握当下,面对未来。
路途中,我看见很多人步伐各不相同,那是因为他们有着不一样的心之所向。
回顾
先说一下,这半年中,我自己做了什么
面试,找工作,不过这一部分,我没有背八股文,几乎是知道的能说就说
参与了华为
DevUI
组件库开源 顺利提了一个PR
,后续也会持续关注继续做工作中,实现了一些个人觉得比较好的组件,签到日历,级联选择器,数字滚动,上下漂浮动画组件等等
对外的话,做了我自己的一个小工具,JsonToTypescript ,可以把 JSON 格式转为对应的 Typescript 接口声明
搭建了自己的 个人博客 使用了
hexo
框架准备了我自己的长期专栏 手摸手带你学习Javascript 、后期会写一些面试题相关
更了几篇文章,后续也会一直更新
持续学习自己定的方向,前端工程化
这些内容的话,我觉得在做组件那一块我的进步相对于之前来说是有提升的,写作的话,看了诗词相关的视频,也会用到我的内容中,整体还不错。
这里我们谈一谈组件吧,简单谈一谈我的一些浅薄理解。
Vue 组件设计
1. 如何设计一个组件?
- 定义
Props
(核心) - 确定组件的职责是做什么?展示、数据录入、布局等等
- 根据主题设计组件样式
假如,我们现在设计一个抽奖组件
如下图所示:
有一个这样的抽奖实现,当我点击下这个开始按钮,那么需要,沿着按钮顺时针跑。对咯,我们更多的时候,其实会看见一个 UI
设计图之类的,你需要转变为这种更直观一些的
通常我第一步简单分析以后,我不会考虑很多其他场景,大部分还是业务中,够用就行
第二步,我们开始设计当前组件的 Props
,命名的话大家自己语义化一些,需要注意下
我们简单定义四个
source
数据来源,为了让他有更好的复用性,数据是传递来的,在其他开发者使用的时候,需要遵循你的组件规则,这要从使用者的角度转变。你就想,怎么让别人好用speed
速率,用于控制顺时针跑的快慢,也就是抽奖速度change
emit 事件,当点击的时候考虑是否对外发送什么通知之类的,非必要finish
emit 事件,当组件完成之后触发的事件
第三步分析实现原理
如上图,我给大家标记出来了数据占位是 [0,1,2,3,4,5,6,7,8]
除了4以后,其他也就是奖品所在位置了
实现动画效果,顺时针抽奖,我们可以直观看见运动轨迹是 0-1-2-5-8-7-6-3
,此为一个周期,要配合 speed
控制速率实现
展示高亮效果,就是拟定一个 active
变量,然后依次设置不同的值,也就是 排他思想
最后就是完成我们的代码逻辑
React 业务组件相关设计
1. 如何设计一个 React 组件?
我平时开发主要还是以 Vue
为主,所以,有些理念是学习来的,大家随意抽出对自己有用的为自己使用就好辣
- 单一职责:每个业务组件应该专注于解决特定的功能或问题,这会使得我们组件简洁,并且好维护
- 组件拆分:将复杂的业务需求拆分为小组件,每个组件负责特定的页面或者是功能
Props
和State
的设计:React
是单向数据流,合理的定义Props
和State
,确保值能够传递和保存到对应的组件。Props
的用于接受父组件传递的数据,State
用于管理数据状态
假如我需要设计点击一个新增\修改按钮设计出 Drawer
既可以新增又可以修改
我这里列出一个图,大家具体看这个图就好
以上是对于组件的一些个人理解,后续学到实用的东西,也会进行相关内容的输出。
说一些面试相关的吧
我觉得在面试这件事,虽然现在投简历很多不会回复或者多看一眼。在这样做,我很担心,就是很多朋友,有些空余时间,没有去思考过,自己要走的一条路是什么。
面试的时候,你可能需要准备的知识,是要超过你目前的期望薪资的知识储备量的,这本身就是自身要具备的硬技能。
我个人在今年面试的时候,没准备,会有答不上,答不好的情况,但是基础的还行,这一块不需要背,自己知道的,没什么深度。不过写专栏就是在审视自己这个问题。我不建议大家学习我不去准备,我只是当时纯纯偷懒罢了...
笔者,是一个普通平凡的人,没有什么高质量的输出,还在不断学习中,后续会继续更新我的创作。
什么是平凡
说实话,写这个命题的时候,我是有点纠结的。曾看过这样一句话,一个人怎样看待自己,决定了此人的命运,指向了他的归宿。
我觉得自己会有一些不同的思想和见解,每个人亦是如此。也立过鸿鹄之志,我思考,我是想去拥有过一个不错的生活,为之而奋斗。不知道什么时候开始,我觉得这已然成为我的一种束缚,为什么呢?因为不快乐。
所以,我,是一个普通平凡的人,我自人间浪漫,平生事、南北西东。(我在人间放纵而活,不受世俗约束,平生事,无所谓南北西东)
虽然,并不会太洒脱,人生,总有十有八九不如人意。顺其自然就好啦,做自己喜欢的事,坚持下去就好了。总有一天可以在一寸冰封的土地,绽放出绚丽的春华,那是属于你个人。
这车水马龙的人间,读者们可以试着慢慢来,不问结果反而一身轻松,路的尽头是什么也许从来不重要。生活,有所为,有所爱,清醒、自律、知进退。
我认清自我,找到自我,从今以后,不在过我应该过的生活,而是去过我想过的人生,平凡挺好的,放下了一些,能变得更富有。
自己的方向
今年后半年大致是以下几点
- 更新进阶的 JavaScript 知识,这一部分大纲已经整理好了,在空余的时间,我会慢慢更新
- 学习 Nest ,做一下个人小应用
- 如果可以有时间更新自己的面试题专栏
- 持续更文
都是很简单的,没有太难的任务了,目前个人产出还是自我满足就够了。
结语
多花时间研究自己