文章列表
使用useEffect的错误案例
# 使用 UseEffect 的错误记录 背景:在 react 中对 monaco-editor 进行初始化,但是会发现有如下两个问题 monaco-editor 创建的实例对象,被赋值了多次 monaco-editor 对象被多次挂载销毁,最终要么是 dom 节点上压根就没有 monaco-editor, 要么是有 monaco-editor 相关信息,但是却没有编辑器 # 造成上述现象的 Bad Example import { FC, useEffect, useRef, useState } from...
more...关于Vue中Props的源码部分解析
# vue3 Props 源码部分解析 # 1、props 定义 export declare type Prop<T, D = T> = PropOptions<T, D> | PropType<T>;Prop<T, D = T> 这里的意思是指: T 是入参类型,D 是默认值类型,如果不指定默认值的话,就用 T 的类型进行推断 # 2.PropOptions 的定义 PropOptions<T, D> 这里的入参意思也是一样的,区别在于 PropOptions...
more...vite无法require图片资源--vite踩坑日记day01
# 小小 vite,坑倒不少 首先先说遇到的问题 1.vite 对静态资源的打包方式是什么样 2.vite 图片打包,是不是非得 base64 转码后才能看见 3.vite 为什么不支持 require 写法 # 打包方式 https://vitejs.bootcss.com/guide/assets.html#importing-asset-as-url 先上链接 我们可以知道,确实,图片资源在 vite 中,会被处理为散列名文件名,图片也并不是只有在 base64 下才会被看见 -- 因为都会被处理为散列文件名然后被展示而已,而被 base64...
more...Fetch和ajax以及axios的辨析
# Fetch 和 ajax 以及 axios 的辨析
前言:闲来无事看掘金,发现自己对于这些异步经常使用的方法经常是 “会使用,知其然而不知其所以然”,故而查阅资料整合一下相关知识点
所谓的前端性能优化手段
# 前言 春招八股基本上都靠背的,许多面试官提到我的一个通病就是项目经验少 + 知识点深度不够。 故本文主要是针对自我的知识薄弱点进行总结。 # 1. 前端常见的的性能优化有哪些? 遇到问题首先要知道问题是什么我们才能做好问题的解决,同样,性能优化也是如此,我们要知道是哪些层面的执行速度效率过低,才导致我们的页面看起来特别 "慢"。 # 性能分析方法: 查看 NetWork 面板中的 WaterFall,看其宽度和长度是否过大,进一步分析如下指标: 查看 performance 中的 Timings 中的 LCP/FCP...
more...从url到页面展示到底发生了什么?
# 前言 我们常常都知道从 url 到页面渲染会包括如下流程: dns 域名解析,得到对应的 ip 地址 根据这个 ip,找到对应的服务器连接(三次握手) 建立 tcp 连接后发起 http 请求 服务器响应 http 请求,浏览器得到 html 代码 浏览器解析 html 代码,并请求 html 中的资源(如 js,css,图片等) 服务器渲染页面 服务器关闭 tcp 连接(四次挥手)。 虽然这些步骤是大体程序步骤,但这样会显得知其然而不知其所有然。 接下来我将会对上述步骤阐述更多个人的深度理解。 # 一、dns 如何查找对应的 ip 地址的? 首先会查找自身缓存中是否存在该 dns...
more...柯里化实现add(1)(2)(3)
函数柯里化主要是实现如下意义: add(1)(2)(3) = 1+2+3 ; 方法如下: // 柯里化的实现function curry(){ var fn = arguments[0]; var arr = Array.prototype.slice.call(arguments,1); return function _format(){ // 本处的 arguments 和上一层函数的 arguments 不一样 var args = Array.prototype.slice.call(arguments); args =...
more...