我的 2022 年终总结:技术、生活还有裁员

2022-12-29
阅读 3 分钟
4.7k
先来看看 2022,大环境关键字:俄乌战争、能源危机、疫情、美国加息、裁员潮等。确实大家说的大环境不好是真实存在的,作为一线互联网程序员的我经历了哪些?有哪些思考?未来我的一些想法?

面试说:聊聊JavaScript中的数据类型

2022-09-24
阅读 7 分钟
9.2k
答:Javascript 中的数据类型包括原始类型和引用类型。其中原始类型包括 null、undefined、boolean、string、symbol、bigInt、number。引用类型指的是 Object。

深入浅出 JavaScript 中的 this

2022-09-19
阅读 5 分钟
5.3k
笔者最近在看 你不知道的JavaScript上卷,里面关于 this 的讲解个人觉得非常精彩。JavaScript 中的 this 算是一个核心的概念,有一些同学会对其有点模糊和小恐惧,究其原因,现在对 this 讨论的文章很多,让我们觉得 this 无规律可寻,就像一个幽灵一样

关于 JavaScript 中 null 的一切

2022-09-10
阅读 4 分钟
5.7k
原文地址:Everything about null in JavaScript原文作者:Dmitri Pavlutin译者:GopalJavaScript 有两种类型:原始类型(strings, booleans, numbers, symbols)和对象对象是一个复杂的数据结构。最简单的 JavaScript 对象是普通对象 —— 键和相关值的集合 {代码...} 但是很多情况下不能创建一个对象。在这种情况下,Jav...

大家都能看得懂的源码之 ahooks useVirtualList 封装虚拟滚动列表

2022-09-07
阅读 4 分钟
9.1k
本文是深入浅出 ahooks 源码系列文章的第十八篇,该系列已整理成文档-地址。觉得还不错,给个 star 支持一下哈,Thanks。简介提供虚拟化列表能力的 Hook,用于解决展示海量数据渲染时首屏渲染缓慢和滚动卡顿问题。详情可见官网,文章源代码可以点击这里。实现原理其实现原理监听外部容器的 scroll 事件以及其 size 发生...

大家都能看得懂的源码之ahooks useInfiniteScroll

2022-09-04
阅读 4 分钟
5.2k
本文是深入浅出 ahooks 源码系列文章的第十七篇,该系列已整理成文档-地址。觉得还不错,给个 star 支持一下哈,Thanks。简介useInfiniteScroll 封装了常见的无限滚动逻辑。详细可看官网注意:这里的无限滚动指的是常见的点击加载更多或者说下拉加载更加功能,而不是虚拟滚动,虚拟滚动后面会讲到。实现原理实现原理:使...

大家都能看得懂的源码 - 列表页常见 hook 封装

2022-09-01
阅读 8 分钟
4.6k
针对使用 Antd 的系统,在 ahooks 中主要是通过 useAntdTable 和 usePagination 这两个 hook 来封装。

慎用JSON.stringify

2022-08-31
阅读 6 分钟
5.4k
项目中遇到一个 bug,一个组件为了保留一份 JSON 对象,使用 JSON.stringify 将其转换成字符串,这样做当然是为了避免对象是引用类型造成数据源的污染。

大家都能看得懂的源码 - 那些关于DOM的常见Hook封装(二)

2022-08-30
阅读 3 分钟
5.2k
本文是深入浅出 ahooks 源码系列文章的第十五篇,该系列已整理成文档-地址。觉得还不错,给个 star 支持一下哈,Thanks。本篇接着针对关于 DOM 的各个 Hook 封装进行解读。useFullscreen管理 DOM 全屏的 Hook。该 hook 主要是依赖 screenfull 这个 npm 包进行实现的。选择它的原因,估计有两个:它的兼容性好,兼容各个...

大家都能看得懂的源码 - 那些关于DOM的常见Hook封装(一)

2022-08-29
阅读 5 分钟
8.5k
上一篇我们探讨了 ahooks 对 DOM 类 Hooks 使用规范,以及源码中是如何去做处理的。接下来我们就针对关于 DOM 的各个 Hook 封装进行解读。

大家都能看得懂的源码 - ahooks 是怎么处理 DOM 的?

2022-08-27
阅读 4 分钟
5k
本文是深入浅出 ahooks 源码系列文章的第十三篇,该系列已整理成文档-地址。觉得还不错,给个 star 支持一下哈,Thanks。本篇文章探讨一下 ahooks 对 DOM 类 Hooks 使用规范,以及源码中是如何去做处理的。DOM 类 Hooks 使用规范这一章节,大部分参考官方文档的 DOM 类 Hooks 使用规范。第一点,ahooks 大部分 DOM 类 Ho...

大家都能看得懂的源码 - ahooks 这些 hook 更优雅管理你的状态

2022-08-23
阅读 7 分钟
8.3k
今天我们来聊聊 ahooks 中那些可以帮助我们更优雅管理我们 state(状态)的那些 hook。一些比较特殊的,比如 cookie/localStorage/sessionStorage,useUrlState等,我们已经单独拿出来细讲了,感兴趣可以看看笔者的历史文章。

大家都能看得懂的源码 - 封装一个管理 url 状态的 hook

2022-08-22
阅读 4 分钟
5.3k
在之前的架构篇中我们就提到,ahooks 这个项目是一个 monoRepo。它的项目管理是通过 lerna 进行管理的。可以从官网以及源码中看到 useUrlState 是独立一个仓库进行管理的。

大家都能看得懂的源码 - ahooks useSet 和 useMap

2022-08-20
阅读 4 分钟
5.2k
本文是深入浅出 ahooks 源码系列文章的第十篇,该系列已整理成文档-地址。觉得还不错,给个 关注 支持一下哈,Thanks。今天我们来聊聊 ahooks 中对 Map 和 Set 类型进行状态管理的 hook,顺便复习一下 Set 和 Map 这两种数据类型。useMap管理 Map 类型状态的 Hook。先回顾以下 Map 的概念。Map 对象保存键值对,并且能够...

大家都能看得懂的源码 - 如何封装 cookie/localStorage/sessionStorage hook?

2022-08-19
阅读 4 分钟
5.3k
本文是深入浅出 ahooks 源码系列文章的第九篇,该系列已整理成文档-地址。觉得还不错,给个 关注 支持一下哈,Thanks。今天来看看 ahooks 是怎么封装 cookie/localStorage/sessionStorage 的。cookieahooks 封装了 useCookieState,一个可以将状态存储在 Cookie 中的 Hook 。该 hook 使用了 js-cookie 这个 npm 库。我认...

记录第一次给开源项目提 PR

2022-08-18
阅读 5 分钟
6.7k
本篇文章算是该系列的一个彩蛋篇,记录一下第一次给开源项目提 PR 的过程(之前好像也有过,不过那个非常小的一个改动),希望能够帮助更多的人参与到开源项目中来。

大家都能看得懂的源码-如何让定时器在页面最小化的时候不执行?

2022-08-17
阅读 4 分钟
3k
本文是深入浅出 ahooks 源码系列文章的第七篇,该系列已整理成文档-地址。觉得还不错,给个 star 支持一下哈,Thanks。今天我们来聊聊定时器。useInterval 和 useTimeout看名称,我们就能大概知道,它们的功能对应的是 setInterval 和 setTimeout,那对比后者有什么优势?先看 useInterval,代码简单,如下所示: {代码....

前端必备的 HTTP 知识

2022-08-16
阅读 17 分钟
6.1k
HTTP 起源HTTP 是由蒂姆·伯纳斯-李(TimBerners—Lee)于1989年在欧洲核子研究组织(CERN)所发起其中最著名的是 1999 年 6 月公布的 RFC 2616,定义了 HTTP 协议中现今广泛使用的一个版本——HTTP 1.1HTTP 是什么全称:超文本传输协议(HyperText Transfer Protocol)概念:HTTP 是一种能够获取像 HTML、图片等网络资源的...

如何让 useEffect 支持 async...await?

2022-08-15
阅读 4 分钟
6.2k
本文是深入浅出 ahooks 源码系列文章的第六篇,该系列已整理成文档-地址。觉得还不错,给个 关注 支持一下哈,Thanks。本文已收录到个人博客中,欢迎关注~背景大家在使用 useEffect 的时候,假如回调函数中使用 async...await... 的时候,会报错如下。看报错,我们知道 effect function 应该返回一个销毁函数(effect:...

前端须知的 Cookie 知识

2022-08-14
阅读 5 分钟
1.7k
cookie 是服务器端保存在浏览器的一小段文本信息,浏览器每次向服务器端发出请求,都会附带上这段信息(不是所有都带上,具体的下文会介绍)。

ahooks 中那些控制“时机”的hook都是怎么实现的?

2022-08-12
阅读 4 分钟
1.7k
学习类似 React 和 Vue 这种框架,对它们生命周期的掌握都是必须的,我们需要清楚的知道我们代码的执行顺序,并且在不同的阶段执行不同操作的代码,比如需要挂载完成之后才去获取 dom 的值,否则可能会获取不到相应的值。

ahooks 是怎么解决用户多次提交问题?

2022-08-12
阅读 4 分钟
2k
解决这类问题的方法有很多,比如添加 loading,在第一次点击之后就无法再次点击。另外一种方法就是给请求异步函数添加上一个静态锁,防止并发产生。这就是 ahooks 的 useLockFn 做的事情。

从 React 原理来看 ahooks 是怎么解决 React 的闭包问题的?

2022-08-10
阅读 4 分钟
2.7k
本文是深入浅出 ahooks 源码系列文章的第三篇,该系列已整理成文档-地址。觉得还不错,给个 star 支持一下哈,Thanks。本文来探索一下 ahooks 是怎么解决 React 的闭包问题的?。React 的闭包问题先来看一个例子: {代码...} 代码示例当我点击按钮的时候,发现 setInterval 中打印出来的值并没有发生变化,始终都是 0。...

如何使用插件化机制优雅的封装你的请求hook

2022-06-30
阅读 9 分钟
5.9k
根据官方文档的介绍,useRequest 是一个强大的异步数据管理的 Hooks,React 项目中的网络请求场景使用 useRequest 就够了。

大家都能看得懂的源码(一)ahooks 整体架构篇

2022-06-26
阅读 3 分钟
2k
自从 React 16.8 版本推出 React hooks,越来越多的项目使用 Function Component。React hooks utils 库随即诞生,它主要解决的两个问题如下:

【Node】深入浅出 Koa 的洋葱模型

2021-10-05
阅读 5 分钟
2.5k
在 koa 中,中间件被 next() 方法分成了两部分。next() 方法上面部分会先执行,下面部门会在后续中间件执行全部结束之后再执行。可以通过下图直观看出:
封面图

深入浅出 CSS Modules

2021-04-19
阅读 8 分钟
8k
A CSS Modules is a CSS file in which all class names and animation names are scoped locally by default.
封面图

【webpack 进阶】Webpack 打包后的代码是怎样的?

2021-03-07
阅读 12 分钟
5.5k
webpack 是我们现阶段要掌握的重要的打包工具之一,我们知道 webpack 会递归的构建依赖关系图,其中包含应用程序的每个模块,然后将这些模块打包成一个或者多个 bundle。
封面图

【工具】像大佬一样使用 Google

2021-03-01
阅读 2 分钟
1.4k
译者注:本文篇幅非常短,但个人觉得对自己有所帮助,所以打算分享一下。关于墙内墙外的问题,笔者因为目前在一家小外企,所以可以解决。不过也是有其他的解决方案的,有条件的开发者还是建议使用 Google
封面图

【Node】使用 koa2 实现一个简单JWT鉴权

2021-01-25
阅读 5 分钟
5.9k
全称 JSON Web Token, 是目前最流行的跨域认证解决方案。基本的实现是服务端认证后,生成一个 JSON 对象,发回给用户。用户与服务端通信的时候,都要发回这个 JSON 对象。
封面图