自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 vite 中如何读取环境变量?

为了避免 TypeScript 编译错误,你可能需要在全局类型定义文件(例如。

2024-01-11 23:13:00 2048

原创 tsconfig 的路径映射和 vite config 的 resolve.alias 有什么区别?

选项主要目的是相似的,即它们都能指定别名路径,使得你能从任何代码文件中,通过简短、易记和绝对的路径来引入其他模块。用在打包阶段,转化和解析别名路径以确保在运行时可以正确找到模块。用在编译阶段,帮助 TypeScript 理解模块别名路径;这可以确保你在编码时获得正确的类型检查和自动补全能力(由。(或其他 bundler 如 webpack)中的。提供),同时在运行时能正确找到和加载模块(由。一般情况下,你需要在你的项目中同时配置。选项,两者是需要结合使用的。

2024-01-11 23:12:06 888

原创 在 React18 中使用 createRoot 代替 render,利用 ref 在组件渲染或更新后调用一个回调函数

② 如果 ref 的值发生了变动(旧的函数被新的函数替代),分别调用旧的函数以及新的函数,时间点出现在 componentDidUpdate 之前。① componentDidMount 的时候会调用该函数 在 componentDidMount 事件中可以使用 ref。React18 中,在新的 API 中,可利用 ref 调用机制解决这个问题。React17中,旧的 API 的使用方式,第三个参数即回调函数。b.新的函数被调用时,传递对象(dom 元素对象或者实例对象)

2024-01-11 23:09:51 487

原创 解决vite项目发版后浏览器缓存问题

在 ErrorBoundary 中,捕获到错误这种错误后,自动刷新页面 (不过会看见闪屏,体验感不太好)vite 默认配置后,打包后 css 和 js 的名字后面都加了哈希值,不会有缓存问题。b.后端 nginx 配置,让 index.html 不缓存。下图中,当时最新的发布版本还是 26 号,却显示 22号的。a.前端在 .html 页面加 meta 标签。打开某页面时,页面渲染失败,如下所示。

2024-01-11 23:07:10 2484 1

原创 websocket 连接,http 协议下用 ws, https 协议下必须要使用 wss

为了保证在 HTTPS 网站下的数据安全与一致性,必须使用“wss"。如果在 HTTPS 网站下使用“ws”,浏览器会报错,因为它将“ws"视为不安全的链接,因此它会阻止建立此类连接。“ws”通过 http 传输,"wss"通过 https 传输。在 Https 请求中,每个数据传输包都被加密,在浏览器与服务器角度,安全性要显著高于 Http。https 相当于使用 http+ssl 认证,使用 https 时 websocket 访问(比如建立链接时)必须要使用 wss。

2024-01-11 23:05:05 1902

原创 【react踩坑记】React has detected a change in the order of Hooks called by observerComponent....

Don’t call Hooks inside loops, conditions, or nested functions. Instead, always use Hooks at the top

2023-08-29 21:34:51 1304 3

原创 【2023年】一枚前端程序媛的年中总结(含书籍电影推荐)

想起一年过半,就简单做个年中总结吧(ps,此文写于7月1号)~

2023-07-30 23:34:54 247 1

原创 从antdPro的SchemaForm学习组件封装思路及一些使用经验分享

最近开发一个全新的项目,由于项目时间比较紧张,选用了开箱即用的来开发表单,引发了一些小小思考,在此记录一下📝~

2023-07-30 23:20:46 1678 3

原创 几个2D图形库的比较 ——fabric \ konva \ leaflet \ pixi

本文将从技术选型的各种考虑因素(如技术的社区活跃度、文档丰富程度、具体落地案例、性能、适用场景、人员学习成本等)对这四个图形库进行对比, 并针对编辑能力做了详细的对比表~

2023-06-13 19:50:11 4988 5

原创 【踩坑记】从“输入框自动失去焦点”到“React状态的保留与重置”

近期解决了一个项目中react状态更新相关的小bug,简单记录一下问题出现的原因及解决方案。或许你能从中更深入地了解React状态的保留与重置~

2023-05-19 23:17:25 974

原创 【three.js / React-three-fiber】加载3D模型性能优化

本文针对运用*原生three.js*和*react-three/fiber*加载三维模型提供了多种优化性能的方案

2023-05-15 10:40:32 1761 1

原创 【React错误处理】超全指南来了

在React中,未捕获错误会导致DOM被卸载, 浏览器无法渲染。那错误处理:是什么?为什么?怎么做?

2023-04-23 17:07:10 3078

原创 【译】不用每个地方都用memo, useMemo, useCallback

简单介绍memoization,对react新文档中不必滥用memo, useMemo, useCallback的介绍进行整合翻译。

2023-03-25 20:33:17 182

原创 javascript实现一键复制文本功能

利用navigator.clipboard 对象和document.execCommand() 方法实现一键复制文本功能

2023-03-21 00:33:21 5937

原创 如何避免使用过多的 if else?

if else使用过多使得代码可读性差、代码混乱、复杂度高、影响开发效率、维护成本高,如何解决这些问题呢?

2023-03-05 10:28:12 1067

原创 【TimePiker.RangePiker】时间范围选择组件封装与时间检验

TimePicker设置结束时间大于开始时间;useReducer管理状态;useRef实现光标自动定位

2023-02-13 20:13:30 1277

原创 【2022年前端踩坑记】一些日常疑惑和解决方案

map/forEach 中使用 await 无效? useRef 为何可读取最新值?typescript何时使用泛型?break, continue 和 return 的用法及区别?……

2023-02-09 18:14:54 290 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除