健儿

31
获赞数
4
关注数
4
粉丝数
杭州
北方民族大学 | 化工机械
IP 属地重庆
2016-08-23 加入
浏览 10.3k

掌握好原生js。

79 声望|新手
javascript
54
vue.js
22
面试
19
css
14
微信小程序
12
个人动态
  • 发布了文章6 月 22 日
    【前端深坑】修复一个永远关不掉的 setTimeout 轮询 Bug
    你是否遇到过这样的场景:为了实现扫码支付后的自动跳转,你用 setTimeout 写了一个轮询去请求后端订单状态。一切看起来很完美,直到你开始疯狂测试……你快速地打开支付弹窗,然后又迅速关掉。奇怪的事情发生了:虽然你确信已经在关闭弹窗时调用了 clearTimeout,但浏...
  • 发布了文章6 月 21 日
    从一个请求封装的“死循环”Bug,我学到了什么?—— 深入剖析 async/await 与错误处理 前言:那个让我头疼的下午
    我们都曾经历过这样的下午:一个看似逻辑严密的模块,在实际运行时却表现得像个失控的野兽。我的故事,就从一个本应“智能”处理登录和 Token 刷新的 ajax 请求封装函数开始。我希望它能在接口返回 400(需要登录)或 4_01(Token 失效)时,自动完成登录或刷新 Token...
  • 发布了文章6 月 18 日
    无感刷新token解决方案
    在你的 axios 封装文件中,你需要两个外部变量来管理状态: {代码...} 请求拦截器 (Request Interceptor)它的任务很简单:在每个请求发出去之前,都带上当前的 token。 {代码...} 响应拦截器 (Response Interceptor) - 核心逻辑所在地这里是处理“保安拦人”和“排队”逻...
  • 发布了文章2 月 13 日
    如何理解几大排序
    1、选择排序工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
  • 发布了文章2024-10-29
    记录传音面试心得
    先记录下没回答上的题目基础的css1、BFC快速记忆场景float浮动导致的高度坍塌、上下相邻两个div出现margin重叠为了解决上述问题 使之产生BFC,可以用overflow:hidde来包裹在外层其他场景这里不做记录,记不住那么多
  • 发布了文章2024-08-20
    记录一次项目上 构建tree的count的场景
    需要在tree节点上构建count数,逻辑如下:代表这个node节点自身的node个数,以及下面的children(递归子集)的node个数。举例:比如id=2,那么tree上node个数就是:自身node数(2,这里id=2有两个,场景如此,可以重复)+它的子集(id=3, 1个,如果id=3 还与子集,需...
  • 发布了文章2024-08-16
    记录kiwi国际化方案,最后kiwi_translate的时候的一次Unable to compile TypeScript报错
    看报错大体就是ts报错,由于之前引入kiwi遇到过包版本的问题,对比了老仓库,虽然版本对,也控制了kiwi-clis这个库固定在某一个版本,在内部的ts-node依赖却出现了不一致。所以就一直在这个ts-node版本不一致的问题上定位问题,大概定位了一下午,无果,下班了。晚上...
  • 发布了文章2024-06-13
    记录一次项目踩坑,关于antd组件Popover 的content传参形式问题
    antd 的 Popover 组件, 在内部js 定义了Content 组件。这两种写法的区别是 写法1:<Popover content={Content} /> 写法2:<Popover content={<Content />}/>
  • 发布了文章2024-04-28
    一次很奇怪的react shouldUpdate优化经验
    这样触发re-render是正常的,比如form.setFileds。但下面的写法会触发多次re-render(发现多触发了3次)页面没有setState 额外触发,可能引发的re-render
  • 发布了文章2024-03-11
    如何用useRef优化重复请求
    参数a来源某接口请求、参数b来源另外一个接口请求毫无疑问,上面写法回调函数一定会进去两次,除了用参数校验比如满足条件再进入api调用,还可以用useRef来暂存参数,而又不会引起页面的re-render。
  • 发布了文章2024-02-21
    useEffect 依赖是数组 而数组引用地址 又不停变化解决方案: 用useRef
    方法2:可以基于 useRef 和深比较方法来解,useRef 的特性是跨渲染周期缓存数据。此处用来缓存上一次渲染的数据,并调用深比较方法判断,如果两个对象相等则返回上一次的数据,地址自然也没有变化。
  • 发布了文章2024-02-21
    关于 防抖和节流 结合useRef useCallBack
    1. 搜索框实时搜索:在搜索框中输入关键词时,防抖可以延迟请求发送,只在用户输入完成或者停顿一段时间后才触发实际的搜索请求,避免频繁的网络请求。
  • 发布了文章2024-01-19
    多级数组Tree如何做搜索
    两种方案1、数组打平,根据搜索字符在打平数组里去filter出满足条件的node节点,但此时被筛选的节点只有子节点,然后再通过被筛选出的子节点去找对应的父节点,然后拿到结果后转成tree结构
  • 发布了文章2023-06-13
    关于递归 整理
    关于递归,算法当中基础中的基础,掌握不好,一切算法都是0.以下是几个递归,在理解当中记忆,记录它们重在理解,不在记忆。递归函数一定要注重返回值,具体看例子8、10。
  • 赞了文章2023-05-15
    带你入门three.js——从0到1实现一个3d可视化地图
    终于到周末了,前几篇的文章一直给大家介绍2d,canvas 和svg的一些东西。7月份我打算输出3篇万字长文带大家系统地学习可视化表达的3种方式,svg、canvas、webgl。所以这是第一篇文章3d的。 读完本篇文章,你可以学到什么
  • 发布了文章2023-03-28
    将一维数据转化成tree
    是的,递归函数的执行过程可以比喻为剥洋葱的过程。在递归函数调用时,每一次递归都会将当前函数的参数和局部变量压入栈中,然后进入下一层递归函数的调用。当递归到最深层时,开始从内层开始一层一层地出栈,直到回到最初的调用处,整个递归过程才算结束。
  • 发布了文章2023-03-20
    node的readDirFiles、readFileSync 的一些实操脚本
    用到的node的api有:readdirSync、statSync、isDirectory、readDirFiles、endsWith用到算法:递归
  • 发布了文章2023-03-16
    NaN 数据类型 (回答来源于chatPT)
    答:NaN是一个特殊的数值类型,表示“不是一个数”(Not a Number)。它的数据类型是number。NaN的主要用途是在数学和计算中表示无意义或不可确定的值。
  • 发布了文章2023-03-16
    http 常见的状态码 (回答来源于 chatPT)
    1xx(信息类):服务器要求客户端执行继续操作。100(继续):客户端应该继续发送请求。这个状态码表示在发送前,客户端应该知道继续还是取消请求。
  • 发布了文章2023-03-16
    如何封装健壮性强的react组件 (回答来源于 chatPT)
    问:如何封装健壮性强的react组件答:封装一个健壮性强的 React 组件需要考虑以下几个方面:参数验证:在组件封装时,需要验证传入组件的参数是否合法,包括类型、必传参数等,可以使用prop-types库来进行参数类型验证。错误处理:组件应该能够处理意料之外的异常情...