langliu1216@gmail.com

文章

React状态管理深度解析:从 Context 到 Zustand 实现

2025/03/02

在React应用开发中,随着应用复杂度的提升,状态管理方案经历了从原生API到第三方库的演进过程。本文将深入分析React原生Context机制,对比现代状态管理库Zustand,并最终实现一个简易版Zustand。

软件设计原则:如何写出优雅程序

2025/02/24

软件设计原则是程序员编写可维护、可扩展代码的指南针。本文将通过通俗易懂的JavaScript示例,讲解7个最实用的设计原则。

从头开始实现一个水印组件

2024/12/30

Windows 下使用7-Zip批量压缩文件夹

从零开始实现lazy-load

2024/12/29

懒加载是一种优化网页性能的技术,它可以延迟加载非关键资源(如图片),直到用户滚动到相应位置时才进行加载,从而提高页面的初始加载速度和性能。我们将通过 JavaScript 代码来实现这一功能,并对其原理和实现步骤进行深入探讨。

React 中的 children 最佳实践

2024/12/18

在 React 中,children 是一个非常重要的概念。它允许我们在组件中传递任意数量的子元素,并且可以在组件中使用这些子元素。在本文中,我们将讨论 React 中 children 的最佳实践。

React i18next 配置

2024/12/10

React i18next 配置

快速创建组件库🚀

2024/05/01

快速创建组件库🚀(使用Vite的库模式)

微信小程序底层原理

2024/04/02

小程序是基于双线程模型的,在这个模型中,小程序的逻辑层与渲染层分开在不同的线程运行,这跟传统的Web 单线程模型有很大的不同

TypeScript 中的 type 和 interface

2024/03/29

在 TypeScript 中定义类型有两种选择:类型和接口。关于 TypeScript 最常见的问题之一是我们应该使用接口还是类型。

前端安全:如何防御XSS攻击

2024/03/23

随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点。

Vite vs Webpack

2024/03/12

Vite 和 Webpack 都是现代前端开发中常用的构建工具,它们各自有着不同的特点和适用场景。

防抖和节流

2024/03/09

防抖和节流介绍和应用

CSS 中的滚动进度动画

2023/08/22

当我们想到滚动驱动的动画时,我们通常指以下两件事之一:- **当用户滚动时**发生的动画,动画的进度显式链接到滚动进度。例如,长文章的进度条。- 当元素进入、退出或穿过可见区域(通常是视口)时在元素上发生的动画,但它可能是另一个可滚动容器的可见部分(这被定义为滚动端口)

透视 HTTP 协议

2023/06/21

在我们日常的生活与工作中离不开网络的支持,在这个过程中会不停的使用到 HTTP 请求,而作为一个前端开发更是会经常使用到 HTTP 与后端开发进行对接联调,HTTP 使用起来非常简单,如果有人问你 HTTP 相关的知识你也能说出不少内容来,但是我们日常接触到的仅仅是 HTTP 的冰山一角,本文从 HTTP 的历史出发,一步步讲解 HTTP 的演变过程,让你在这个过程中全面的了解 HTTP 为什么这么设计

Intl 解决前端日期和时间的格式化

2023/03/07

Intl 解决前端日期和时间的格式化

在浏览器中通过 import maps 使用 ES 模块

2022/12/22

在浏览器中通过 import maps 使用 ES 模块

Go WebAssembly 入门

2022/11/03

Go WebAssembly 入门

基于 Astro 搭建博客系统

2022/09/08

基于 Astro 搭建博客系统

Windows 下使用7-Zip批量压缩文件夹

2022/09/03

Windows 下使用7-Zip批量压缩文件夹

Jellyfin 解决中文字幕乱码问题

2022/09/01

Jellyfin 解决中文字幕乱码问题

Github 徽标制作

2022/08/31

在 Github 的很多项目中

Custom Elements

2022/08/29

近日被问到一个问题:在 JavaScript 中如何判断一个数组是数组?。在听到这个问题的时候我就在想有那些方式,在我们常用的类型判断中可以通过 `typeof` 或 `instanceof` 来进行类型判断。

Web Components 入门

2022/08/28

Web Components 提供了基于原生支持的、对视图层的封装能力,可以让单个组件相关的 javaScript、css、html 模板运行在以 html 标签为界限的局部环境中,不会影响到全局,组件间也不会相互影响。  再简单来说:就是提供了我们自定义标签的能力,并且提供了标签内完整的生命周期。

在 JavaScript 中如何判断一个数组是数组?

2022/03/11

近日被问到一个问题:在 JavaScript 中如何判断一个数组是数组?。在听到这个问题的时候我就在想有那些方式,在我们常用的类型判断中可以通过 `typeof` 或 `instanceof` 来进行类型判断。