公告
更新日志2023
04-03
终于终于终于备案成功了,把网站从github pages上签到了个人服务器上,其中的心酸谁能懂【哭】忙活了这么久,也没更新个干活,图床也挂了,之前的图片可能不会找回了,但是看心情吧,会逐步恢复更新频率…【尽量】
2022
07-05
更新了 About 页面
新增公告置顶文章
TODO
完整主题变更
博文迁移
博文样式适配
评论区恢复
React学习之todolist的实现(二)
前言之前说过想要对todolist稍微做一点点的优化,顺便实验一下,那就开干
现状分析我们简化一下现在的todolist,让Footer部分只有一个button来清空所有已完成的事项,这样在Footer里面只需要传入delALLDoneItems这个函数就行,然后中间的list部分我们也不用删除了,就保留最核心的勾选功能就行,顶部不变,然后分别在Header、List和Footer里面加入console.log来监控一下是否重新渲染了…现在只要我们更新事项,那么Header、List和Footer都会重新渲染,这是因为我们change了父组件的state,然后父组件更新就会导致子组件重新更新,所以控制台的输出应该是这样的(后续都忽略一下灰色部分…)
实验一,用useCallback来优化按照我们的想法,那么其实只需要List更新就行了,Header和Footer接收的函数其实一直都是那个,没必要重新渲染了,那我们用useCallback来把传入组件的函数给包一下,然后子组件用memo来保证只要父组件传入的prop不变就不重新渲染,代码修改大概如下:1234567891011121314 ...
React学习之todolist的实现(一)
前言太菜了,真的感觉自己太菜了,每天都在想这是为什么,这是玄学吗,怎么不按照我的逻辑走,有点找到了当时写硬件代码的感觉…所以从最简单的基础开始吧,先从零开始写点简单的东西,然后有问题刚好也方便实验了,所以打算分别用函数组件,类组件,Redux,Hooks仿Redux来写个Todolist,希望在这个过程中自己能收获一些基础知识,后续打算把之前做的一个大屏项目用React重写一下了,因为自己写的一直是后端,现在换方向了,感觉这个重写了我是不是就比较厉害了?
过程出师未捷,一开始就遇到难题,我不知道怎么搭建一个React项目,看了一下官方文档说推荐用Nextjs这些工具来,反正中间踩了很多坑,感觉后续可以从最最最基础的项目从零开始搭建一个工程,顺便学习一下这个过程中都做了哪些工作吧…总而言之,项目是搭建好了,也不想在这个过程中被别的事情带走过多的精力,现在只放在Todolist本身吧…
功能概览
就做个简单的这个样子,主要功能包括
添加未做事项
清除已做事项
项目结构我把整个Todolist分成了三块,Header、List和Footer,项目结构是这样的,然后为了方便我用了一下Ant ...
一些写博客过程中可能可以用到的语法
记录一下标签外挂的东西,这东西是Hexo提供的,不是Markdown自己的,只是能让博客好看一点,经历过换了一次主题我觉得还是能少用就少用,毕竟我之前的那些配置都失效了…懒得再折腾了…不过偶尔也想有什么强调的东西所以还是记录一下,省的到处去找了
行内文本样式text标签语法样式预览示例源码123456{% u 文本内容 %}{% emp 文本内容 %}{% wavy 文本内容 %}{% del 文本内容 %}{% kbd 文本内容 %}{% psw 文本内容 %}
带 下划线 的文本
带 着重号 的文本
带 波浪线 的文本
带 删除线 的文本
键盘样式的文本 command + D
密码样式的文本:这里没有验证码
1234561. 带 {% u 下划线 %} 的文本2. 带 {% emp 着重号 %} 的文本3. 带 {% wavy 波浪线 %} 的文本4. 带 {% del 删除线 %} ...
hexo在个人服务器上建站,以腾讯云为例
前言之前博客一直放在GitHub Pages上面也没觉得有什么问题,后面去实习的时候发现访问速度令人发指,于是下定决心将博客迁移到个人服务器上,虽然成本上去了,但是毕竟花了钱,应该就不会轻易放弃了吧…在这个过程中有很多不会的东西,也遇到了很多问题,所以记录一下以备不时之需…
服务器准备本地hexo博客的环境配置就不想多说了,无非就是NodeJS,Git,然后npm安装一下Hexo就行,这里主要想说服务器端的工作。我使用的是腾讯云服务器,配置大概是这样的,买的时候觉得挺便宜,一看续费感觉还是挺贵的(哭),又中了资本家的圈套…
准备域名我之前的域名是在境外买的,但是因为要把博客迁到国内的服务器上,需要备案,备案的时候需要提供域名对应的个人证明,境外的不太方便,所以我就把我的域名又迁到了腾讯云下…所以选择域名控制台里的域名转入,填入你的域名然后在你原来的域名服务商上找到你迁出域名需要的转移码就行,这里需要提一句,我迁过来的时候花了钱,但是花钱的原因不是因为迁入需要钱,而是迁入的时候需要在腾讯云这里再续费一年域名…
备案网站备案就需要在腾讯云上实名认证,第一步是确认主体需要你的个人信息和身份证 ...
React中的闭包陷阱
前置看一下之前总结的闭包的相关知识
前言做了个需求,要求滚动分页,所以用了一下IntersectionObserver,然后就遇到了这个问题,当时的代码逻辑大概是这样的:123456789101112131415161718192021222324252627282930313233343536373839404142const Test = () => { const tableFooterRef = React.useRef(null); const [curPage, setCurPage] = React.useState(1); // 当前页码 const [total, setTotal] = React.useState(0); // 数据总数 React.useEffect(() => { // 发起请求拿数据 }, [curPage, total]); React.useEffect(() => { const options = { rootMargin: ...
闭包
前言又是闭包,数不清第几次遇到这老哥了,又栽到这老哥手里了…之前有去搜过到底什么是闭包,然后就有简简单单的来一句:就是在函数里面返回函数,什么都没说清楚,为什么要用闭包,用了有什么好处,有什么问题都不说,气死我…通过这次的学习,我不敢说彻底搞明白了,但是至少我学到了很多,特此记录
什么是闭包在红宝书里面闭包的解释为:那些引用了另一个函数作用域中变量的函数,通常是在嵌套函数中实现的。嗯,云里雾里,本来在一个函数中定义一个新函数就应该能够访问到外层函数的变量啊,这就要定义一个新名词了?简单的说,Javascript允许使用内部函数—-即函数定义和函数表达式位于另一个函数的函数体内。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数和声明的其他内部函数。当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包。注意这句话,本来在函数外面是不能访问函数内的局部变量的,但是因为闭包的存在,导致在函数外侧也能够访问这个函数内定义的定西,这才是闭包!
前置知识准备还是要说一下作用域链,懂了的这一节看过,我只是为了放置自己现在清楚地一批,过段时间之后就忘了这个概念。
...
共享组件npm发布
前言之前说了好久的什么你的这个组件怎么让别人快速用起来,一种方式就是发包呗,像我们平时用什么npm install其实都是别人发布好的包,那如果我们也想发布怎么整捏?最近做了个项目是要在多个项目里面去使用的,所以就采用发包更新的方式来直接引用了,顺便学习下发包的流程,还没整过.
初始化项目如果是我们的 React 项目那么其实一开始就会有package.json文件,但是如果是从零开始的话就新建一个文件夹像这样然后在里面执行 npm init 来初始化这个项目,然后会提示我们输入一些基本信息
比较重要的其实就这些:
name:npm 项目包名,发布到 npm 时就是取的这个 name 名;
version:版本号,更新 npm 包时必须修改一个更高的版本号后才能成功发布到 npm,版本号最好遵循 npm 版本管理规范;
description:包的描述;
main:入口文件路径,通过 import 或 require 引用该 npm 包时就是引入的该路径的文件;
我这里有点问题,main 其实应该是 index.tsx 才对。但是如果不想直接发布 src 里的 index.tsx ...
停更的这段时间内都做了什么
为什么停更停更前的最后一篇博客更新于转正失败后,当时抱着失落、愤恨的心情洋洋洒洒的写了一篇牢骚后,带着受伤的心投入了秋招,因为行情特别差,那段时间一整个焦头烂额,频繁地面试 + 封控,感觉自己那段时间真的是每天都想死,泡池子 + 毕设压得我喘不过气来,后来陆陆续续收到了几个offer,但是距离自己的预期都有一段差距,我每天都在想凭什么,凭什么我要遭受这些,凭什么前几年那么菜都能找到好工作,到我们这一批就要受这种屈辱,不仅找不到理想的工作,还要遭受去年那批人的冷嘲热讽…太丧了,中间分手了,远程,受伤到出不来…再后来因为疫情原因直接回了老家,阳了一度喘不上气,开始每天颓废的打游戏,一遍晕一遍打游戏,废寝忘食,真正地做了一把肥宅…现在想想真是可惜,那段时间如果用来学习进步就好了,但是去年一年自己确实一直都是紧绷的,也算是给自己放了一个大长假,反而导致之后很不容易找到之前的学习状态,一直摆烂…
做了什么
找工作
准备毕设中期报告
打游戏
为什么对网站做了更新最近又开始实习了,因为换了个一方向,所以深深感到自己有太多的东西不会了,到目前为止实习快两个月了,感觉自己进步的速度太慢了,陷入了深深的 ...
吹到一片秋香,清辉了如雪
前言结束了四个月的实习,心情很复杂,想说很多,但是又觉得说多了都是矫情,不说又觉得自己很委屈…简单的说一下感受吧先说结论,在公司实习拿到了较高的评价,转正面试也挺好,但是因为没有HC,我挂了
一些想法说真的,知道我没希望的时候我是难以置信,很愤怒的,我自认为在实习期间已经充分的展现自我了,mentor给我的评价也是对我这段时间工作的充分肯定,在我过五关斩六将之后,因为没有名额,我被挂掉了…我甚至已经有幻想过之后上班的状态,我应该怎么去做,怎么去展现自我,为了能够在正式入职之后能够更好地融入工作,有更高的permormance,我硬着头皮延长了我的实习期,哪怕代价是我要没日没夜的加班赶毕设,我都希望最后的结局能够是好的。在进公司之前,我一直都是一个欲望极低,不敢抱有幻想的人,实习期间公司一直在封装自己是一个大企业,完全能够给予实习生需要的资源和转正名额,表现的像是一副说到做到的样子,我相信了公司,可能这就是我最大的失败吧…我竟然去相信了资本家…在我愤怒了一段时间之后,组里吃了饭,有老板,可能因为已经提了离职,老板说话就已经比较清楚不拐弯抹角了,意思就是去年入职的这些人占用了我们这一批的H ...