前言
不知不觉,踏入前端已过去一年半矣,或是没想象中成功,亦或是没想象中失败,,但过去还是得记录一下的,毕竟青春正在慢慢划过身边,时间永远不会回流,此番总结主要记录我过去一年中技术的成长,以不忘初衷。
宜搭九宫格小游戏,,
其实就是一个纯h5页面,内容是大家生活中经常玩的9宫格拼图,没错,就是它~ 我采用canvas画布针对拿到的图片直接进行切割,分成9块,所谓的9宫格实现,我觉得实现的技巧在于,保存用户点击的第一张图的序列,然后用户再点击第二张就进行交换位置;当然中途出现的图片跨域,百度一下很快解决,一笔带过哈~ 实现原理:将9张图片以数字数组的形式记录下来,点击第一张的索引存储在全局变量里,点第二张就获取第二张的索引,然后将两者交换位置,同样的图片也以这样额的形式交换。没错一年后的我可能就是so easy~
一休后台红黑榜单,
项目的类库主要是antd,其实就是顶部几项筛选框,,搞下全局配置受控组件,表格里面数据的确较为复杂,里面有多项数据分别需要自己手动映射上去,,中途蒙了挺久的,还有搞适配缩放的时候,还会有表格项被挡住,平铺不了等等问题
极有家商家端后台管理
rax 框架源码,中途有个isWeb问题被难倒了,搞半天,View的 appear方法生效不了,好像是web容器需要额外设置过,,最后就是cookie设置顶级域名,之前试过path='',结果第二天硬是服务端给我文档,然后跟着敲搞完了。
轻店机构工作台
ice + hooks 阿里主流应用技术吧,该项目里面最大的难点就是一级分类,二级分类,三级分类,都是根据接口返回的,然后有多个接口,还有个搜索,排序功能,,后面服务端还多出接口。新手使用hooks当然对useEffect这个集合class组件多个生命周期感到很神奇,,疯狂使用,,没想到还能以监听变量的形式直接实现渲染,然后我试图将整个页面的所有state状态写在里面,年少无知呀,,用一个useEffect副作用函数来实现页面多个状态的监听和交互,结果多个变量引起的组件渲染让我早已无法控制页面的渲染次数(曾经不服输的我试图挽救,用ifelse形式来控制何时该变量已改执行对应的接口请求,结局已变量太多的形式告终~),当然啦,最终是采用async的形式,实现多个接口联动效果,的确是最佳办法,处理这种下个接口依赖上个接口的业务场景;期间也学习过useMemo(),useCallback(),无奈后续都已模块化为主,好像没机会用到唉。
整个项目内容还是蛮多的,有顶部筛选,搜索框,,主内容是轻店列表,,点击轻店,存储在顶部栏下面,这部分我也是感受到了前端状态存储的强大。对了,还有很无奈的问题,本次项目是嵌套在千牛工作台,,然后打开调试面板,一直在编辑器预发调试,最终尽然是只要前端从千牛界面,获取那个打乱后的cookie2值,粘贴在前端浏览器里,就这样可以成功的实现登录台在,mac里开发了。
宜搭官网
这个项目是从头到尾在设计师指导下做的,已经延续到疫情期间了,这官网已经公开,大家百度搜宜搭就可以看到了。目前在我印象中主要是两点技术记忆犹新些:1. 头部轮播动图实现,采用图片形式代码向上回滚,头部多张轮播,如果每张轮播里面动图中代码同时滚动势必严重影响整体页面性能,用下memo() ,hooks的一种组件更新props写法吧,原理就是父组件采用序列形式,一旦切换轮播,改变索引值 2. 整体页面的分屏动效,组件创建完毕动态获取当前设备的屏幕尺寸,然后调试到居中位置,到达则隐藏或显示,注意,滚动条上下滑动时应有对应状态更新的区间。
手淘模块化开发
不知不觉间,参于了淘宝的模块化开发了,以前还祈祷别用imgcook开发,结果,我竟然强行在家办公使用期间,然后和同事在线视频的情况下教用法,哈哈,这工具一般是强行用吧,一般这种布局手撸代码应该也很爽,不多说,后面自从做模块化开发时间飞快,,,
国潮十点模块,其实我看着真不难,无非是几张卡片,根据层叠性和位移两展开进行滑动动效的,难!平台支撑的,weex环境下不支持很多属性,z-indez 直接over掉,还有投影全不支持,,,果然是手淘里面魔鬼容器,,后面慢慢学习的就是淘系最常见的埋点曝光啥的吧,,
后续感叹
直到8月份,中间各种就不提了吧,此番回忆好艰辛,过了很久中间很多技术细节没写对,真遗憾,,不过金九银十嘛, 目前我正努力复习巩固研究知识点,针对专题有所突破。希望未来的一年对项目沉淀的技术和优化应及时记录和研究。
未来可期
最后想对自己说的是,哈哈,自己的确一般般,智力也一般般,能力一般般,但是我可以学嘛,趁年轻可以学到更多的。时间流逝的很快,可能渐渐的,98的我也逐渐老去,,但不变的永远是那颗不忘初衷的❤。