发布了文章6 月 22 日
你是否遇到过这样的场景:为了实现扫码支付后的自动跳转,你用 setTimeout 写了一个轮询去请求后端订单状态。一切看起来很完美,直到你开始疯狂测试……你快速地打开支付弹窗,然后又迅速关掉。奇怪的事情发生了:虽然你确信已经在关闭弹窗时调用了 clearTimeout,但浏...
发布了文章6 月 21 日
我们都曾经历过这样的下午:一个看似逻辑严密的模块,在实际运行时却表现得像个失控的野兽。我的故事,就从一个本应“智能”处理登录和 Token 刷新的 ajax 请求封装函数开始。我希望它能在接口返回 400(需要登录)或 4_01(Token 失效)时,自动完成登录或刷新 Token...
发布了文章6 月 18 日
在你的 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数,逻辑如下:代表这个node节点自身的node个数,以及下面的children(递归子集)的node个数。举例:比如id=2,那么tree上node个数就是:自身node数(2,这里id=2有两个,场景如此,可以重复)+它的子集(id=3, 1个,如果id=3 还与子集,需...
发布了文章2024-08-16
看报错大体就是ts报错,由于之前引入kiwi遇到过包版本的问题,对比了老仓库,虽然版本对,也控制了kiwi-clis这个库固定在某一个版本,在内部的ts-node依赖却出现了不一致。所以就一直在这个ts-node版本不一致的问题上定位问题,大概定位了一下午,无果,下班了。晚上...
发布了文章2024-06-13
antd 的 Popover 组件, 在内部js 定义了Content 组件。这两种写法的区别是 写法1:<Popover content={Content} /> 写法2:<Popover content={<Content />}/>
发布了文章2024-04-28
这样触发re-render是正常的,比如form.setFileds。但下面的写法会触发多次re-render(发现多触发了3次)页面没有setState 额外触发,可能引发的re-render
发布了文章2024-03-11
参数a来源某接口请求、参数b来源另外一个接口请求毫无疑问,上面写法回调函数一定会进去两次,除了用参数校验比如满足条件再进入api调用,还可以用useRef来暂存参数,而又不会引起页面的re-render。
发布了文章2024-02-21
方法2:可以基于 useRef 和深比较方法来解,useRef 的特性是跨渲染周期缓存数据。此处用来缓存上一次渲染的数据,并调用深比较方法判断,如果两个对象相等则返回上一次的数据,地址自然也没有变化。
发布了文章2024-02-21
1. 搜索框实时搜索:在搜索框中输入关键词时,防抖可以延迟请求发送,只在用户输入完成或者停顿一段时间后才触发实际的搜索请求,避免频繁的网络请求。
发布了文章2024-01-19
两种方案1、数组打平,根据搜索字符在打平数组里去filter出满足条件的node节点,但此时被筛选的节点只有子节点,然后再通过被筛选出的子节点去找对应的父节点,然后拿到结果后转成tree结构
发布了文章2023-06-13
关于递归,算法当中基础中的基础,掌握不好,一切算法都是0.以下是几个递归,在理解当中记忆,记录它们重在理解,不在记忆。递归函数一定要注重返回值,具体看例子8、10。
赞了文章2023-05-15
终于到周末了,前几篇的文章一直给大家介绍2d,canvas 和svg的一些东西。7月份我打算输出3篇万字长文带大家系统地学习可视化表达的3种方式,svg、canvas、webgl。所以这是第一篇文章3d的。 读完本篇文章,你可以学到什么
发布了文章2023-03-28
是的,递归函数的执行过程可以比喻为剥洋葱的过程。在递归函数调用时,每一次递归都会将当前函数的参数和局部变量压入栈中,然后进入下一层递归函数的调用。当递归到最深层时,开始从内层开始一层一层地出栈,直到回到最初的调用处,整个递归过程才算结束。
发布了文章2023-03-20
用到的node的api有:readdirSync、statSync、isDirectory、readDirFiles、endsWith用到算法:递归
发布了文章2023-03-16
答:NaN是一个特殊的数值类型,表示“不是一个数”(Not a Number)。它的数据类型是number。NaN的主要用途是在数学和计算中表示无意义或不可确定的值。
发布了文章2023-03-16
1xx(信息类):服务器要求客户端执行继续操作。100(继续):客户端应该继续发送请求。这个状态码表示在发送前,客户端应该知道继续还是取消请求。
发布了文章2023-03-16
问:如何封装健壮性强的react组件答:封装一个健壮性强的 React 组件需要考虑以下几个方面:参数验证:在组件封装时,需要验证传入组件的参数是否合法,包括类型、必传参数等,可以使用prop-types库来进行参数类型验证。错误处理:组件应该能够处理意料之外的异常情...