recharts 实践

11 月 18 日
阅读 3 分钟
45
1. 柱状图横坐标根据时间不均匀分布一般chart横坐标之间的刻度间隔都是均匀的,但是我的需求是根据日期时间显示对应的数据。 {代码...} 参考:recharts-area-chart-with-date-axis2. 让tooltip内容可选择 {代码...} 参考:How to make recharts custom tooltip to be clickable?How to make clickable tooltip? #1640

一次性操作,同步数据到zustand然后调用接口将其保存到后端

11 月 14 日
阅读 3 分钟
83
技术栈:umijs@4 zustand@^4.5.2 react-flow@^11.11.2需求:上图的text数据存在了zustand中,画布中所有的数据都存在了zustand,之前点击右上角的保存是用如下代码实现的,

tailwindcss 实践

11 月 14 日
阅读 1 分钟
88
如图,删除按钮不显示, hover到一行,才显示删除按钮,平常用事件切换state才可以实现的效果,用tailwind两个class就可以实现了。如图给父节点加上group,给目标节点加上invisible group-hover:visible就可以实现上述的效果了。更高级的用法在Differentiating nested groups

npm 相关

11 月 12 日
阅读 1 分钟
85
1. 只安装dependencies下的依赖生产环境只需要dependencies下的依赖,那么可以运行 npm install --omit=dev参考:How do you prevent install of "devDependencies" NPM modules for Node.js (package.json)?2. 强制项目中node的版本同事拿项目到linux部署的时候,执行npm i报错,查看node版本原来是太低了。做了限制吧p...

shadcn/ui

11 月 1 日
阅读 1 分钟
206
是因为点击AlertDialog的确定按钮后后body标签会被添加style="pointer-events: none;"导致页面无法点击

SVG 了解下

10 月 21 日
阅读 1 分钟
140
1. SVG中后面的元素会覆盖前面的元素 {代码...} 蓝色的矩形会显示在红色矩形的上面渲染规则:写在后面的元素拥有更高的层级

next.js 实践

9 月 11 日
阅读 4 分钟
250
我用postman和curl命令都是没问题的,但是用这种方式不行,还尝试了umirc代理跟nest.js项目中用fetch,axios请求都是报这个错,但是请求nest.js接口const products = await request('http://localhost:3000/products');没有问题,最后尝试了将地址改为http://127.0.0.1:23820/,接口成功的返回数据了。感觉是nodejs的问...

nginx 随记

7 月 29 日
阅读 1 分钟
253
使用 Pause on caught exceptions 断点不到源码 即使我开了source map,因为项目使用了负载均衡后出现的问题,单nginx部署是没问题的,那么问题应该出在负载均衡上,按照nginx + 前后端分离 负载均衡配置了ip_hash后,可以正常的访问了。项目分别拉取到不同的服务器进行构建,虽然代码一致但是构建出来的文件的hash值不...

react flow 实用记录

6 月 4 日
阅读 2 分钟
693
连接动态锚点到另一个节点,报错[React Flow]: Couldn't create edge for source handle id: "CategorizeHandle1", edge id: reactflow__edge-Categorize:TangyWorldsRelateCategorizeHandle1-Generate:AllHotelsTelld. Help: [链接] 点击报错链接查看文档,也没解决我的问题,还是调试吧,使用chrome devtools的可以看...

SSE post 实践

5 月 17 日
阅读 5 分钟
1.2k
需求:对接大模型的聊天功能疑惑:但是接口是post方法,需要传一些复杂的数据,而EventSource不支持post,那我们应该怎么办呢?思路:SSE (Server-Sent Events) Using A POST Request Without EventSource 办法:用fetch的post实验:sse-demo

@tanstack/react-query 实践

5 月 11 日
阅读 4 分钟
642
useQuery()会返回isFetching,但是往往component是分开写的,就是发起请求在一个component,而Spin在另一个component,这时候就需要独立的拿到isFetching

react 继续踩坑

4 月 12 日
阅读 5 分钟
343
react-pdf@7.7.1腾讯一篇文章效果像是我们想要的,去翻看其使用到的react-pdf wikiHighlight text on the page,是遍历整个pdf内容,将每块内容切成小块跟你提供的text去匹配,匹配成功则高亮,而我们提供的text一般都是段落很长,这会导致有很多地方的小块内容被text匹配上,从而匹配的结果看起来像是狸花猫,而不是指...

umi 4 踩坑

1 月 30 日
阅读 4 分钟
1.1k
这还不够,输入的时候vscode没法提示变量名,这时候Less IntelliSense出现啦,可以愉快的引用公共less变量了,对mixin也支持的。当然不做全局配置,直接在less文件@import '~@/less/variable.less';也是可行的,全局配置就是不用每次在less文件中引入。

chrome devtools 技巧

2023-12-31
阅读 1 分钟
571
在前后端联调的时候,往往后端的数据会出现问题,这时候通知后端改接口,改数据,他们修改发布需要个过程,而前端很想把当前的功能调通,这个时候可直接在devtools修改接口返回的数据,简直不要太香。具体怎么操作可移步 Chrome 117 重大更新:Network 面板就能发起 Mock 请求 !!!

怎样写个sdk嵌套到别的项目?

2022-06-16
阅读 4 分钟
1.5k
需求:客户的项目需要用我们的功能,且需要提供个modal嵌入到他们的项目里,在他们的table中点击对应的item,弹出我提供的modal。解决方案项目使用cra构建,使用webpack@5.70.0的library导出为一个库给第三方使用, 官方教程创建 library {代码...} 这样的话客户就可以直接window.Geek.showModal()调用我们的弹窗index.js...

styled-components

2022-04-11
阅读 1 分钟
1.5k
报错信息:Warning: React does not recognize the markRedxx prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase markredxx instead. If you accidentally passed it from a parent component, remove it from the DOM element.

docker 踩坑

2021-07-13
阅读 5 分钟
9.2k
上传了web到NGINX,通过 docker export -o mynginx.tar [contianer id]构建出container文件,将文件拷贝到另一台装有docker的机器,运行docker import mynginx.tar 得到repository跟tag字段都是没有数据的,原来docker import 也有额外的参数但是通过该镜像启动容器又报错了docker: Error response from daemon: No comm...

webpack 相关

2021-01-22
阅读 1 分钟
1.3k
一直认为凡是ES6的代码编译为ES5都是要通过babel,然后做了尝试,运行webpack首页代码,并没有配置babel,编译出来的代码照样可以跑,这里webpack的编译目标环境为web,(即是默认的目标环境,其他的环境还没测试),虽然es module不依赖babel,但是其他ES6的语法是要靠babel才能编译到ES5的。比如const =>

JavaScript 踩坑

2020-12-29
阅读 1 分钟
1.2k
为什么会这样?去掉参数a的默认值就好了,查阅函数的扩展 ### 函数的 length 属性做了详细的说明:第一个参数a设置了默认值导致show.length为0,(也就是说默认值导致函数参数的长度变小了)这样传递一个参数"g"调用执行了show,show执行完返回的是undefined所以后面再调用next就报错了。所以对需要柯里化的函数尽量不要...

antd 踩坑

2020-11-26
阅读 4 分钟
4.2k
1. tree table rowSelection树形表格 在树形的数据每层前面都会有CheckBox,但是需要需要里层的CheckBox隐藏,可以这么做.tsx {代码...} .less {代码...} 但是我们点击全选的时候,被隐藏的里层CheckBox的key还是会被放到selectedRowKeys里,怎么解决这个问题 {代码...} table rowSelection 支持指定某一行的 checkbox ...

学学css吧

2020-11-13
阅读 6 分钟
1.3k
1. :nth-child(n)栗子:规定属于其父元素的第二个子元素的每个 p 的背景色: {代码...} 效果p:nth-child(2)n表示父元素的第n个元素,即使p的上一个元素不为p元素,也要从父元素的第一个开始计数。小结:n 从1开始n 可以是数字、关键词或公式。CSS3 :nth-child() 选择器2. z-index 也有坑关于 z-index,你可能一直存在误...

react 踩坑

2020-10-27
阅读 11 分钟
3.8k
结果报错Warning: This synthetic event is reused for performance reasons. If you're seeing this, you're accessing the property target on a released/nullified synthetic event. This is set to null. If you must keep the original synthetic event around, use event.persist(). See [https://fb.me/react-ev...

中间件

2020-10-16
阅读 1 分钟
1.4k
什么是中间件?中间件就是插在源到目标之间的一段逻辑(一般为函数,比如redux)redux中源为页面,目标为store中的state,通过dispatch将页面中的数据反映到store中koa中源为request,目标为response,redux中在dispatch数据到store只调用了dispatch这个函数,所以只能对这个函数进行改造,中间去插入中间件。为什么redu...

ES5 继承

2020-10-11
阅读 7 分钟
2k
首先要明白两点:一、非方法属性每个子类实例需要独立二、方法属性每个子类实例需要共享为什么?如果非方法属性为引用类型,且非方法属性共享,在一个实例中改变,其他实例中就会做出改变,这样每个实例就会相互影响,而方法属性一般是不需要进行改变的,只是对方法调用。

理解 generator

2020-09-14
阅读 4 分钟
1.8k
1. 生成器中while设置为trueredux-saga 文档中提到take实现takeEvery在while中使用了yield监听未来的 action循环无限次 {代码...} 这么调用,生成器中的while无终止条件,会导致无限循环。循环有限次数 {代码...} 输出: {代码...} 每一步的执行情况为:执行it.next(0),输出xxyyr: { value: 2, done: false }解释:执行...

vscode 常用插件

2020-09-07
阅读 6 分钟
3.6k
Computes complexity in TypeScript / JavaScript files.It looks like this

typescript 梳理

2020-09-04
阅读 6 分钟
2.7k
1. 赋值断言类属性使用赋值断言官方示例: {代码...} 如果去掉foo后面的感叹号会怎样?报错提示我们foo没有初始化,也没有在构造函数中定义;意思就是在构造函数中初始化就不会报错了?在构造函数中初始化的确不报错,反向证明报错信息很准确。变量声明使用赋值断言官方示例 {代码...} 去掉感叹号报错信息告诉我们变量x...

redux-saga初探

2019-12-19
阅读 8 分钟
3.1k
由于dva的版本是2.4.1,对应的是redux-saga@0.16.2,所以就解读该版本的代码,本文围绕examples/shopping-cart展开注册使用方式main.js {代码...} sagas/index.js {代码...} 这两种写法等效,all并发类似于Promise.all {代码...} fork为非阻塞调用,被fork的三个generator都会被执行,直到遇到take,会被阻塞,即使watchGet...

git 常用命令

2019-09-09
阅读 8 分钟
4k
1.git fetch origin <远程分支名>:<本地分支名>此时会在本地就有分支了,但是没有跟远端分支建立映射关系,也不会切换到新的分支git fetch origin <远程分支名> 这种方式只是从远端拉取了分支,但是本地没有新分支使用 git branch -r 查看, 一般结果为origin/HEAD -> origin/masterorigin/masterori...

typescript 难点梳理

2019-09-05
阅读 16 分钟
9.2k
查了不少资料,比较好的解释是what is new() in Typescript?意思就是create函数的参数是构造函数没有参数的T类的类型,同理,createInstance函数的参数是构造函数没有参数的A类的类型。带着疑问写了测试代码: