- 博客(16)
- 收藏
- 关注
原创 Too many re-renders. React limits the number of renders to prevent an infinite loop. at renderWi
这种情况往往是因为在组件的渲染逻辑(render method 或函数组件的返回部分)中直接修改了状态(state)或调用了导致状态更新的函数,从而触发了新的渲染,进而再次修改状态,形成了一个循环。确保所有的状态更新都发生在合适的位置(如事件处理器、副作用中),并且避免在渲染方法中直接修改状态或调用会导致状态更新的函数。如果你不小心在组件的渲染逻辑中递归调用了自己(例如,在组件的JSX中直接引用了自己),也会导致无限渲染。在useEffect中提供依赖项数组,以确保只有在依赖项变化时才执行更新。
2024-09-02 09:02:39
991
原创 【无标题】
设置0.5px的渐变线条,可以通过CSS的几种技术手段实现,主要包括使用linear-gradient(线性渐变)、transform(变换)属性,以及结合伪元素(pseudo-elements)PS:渐变方向为top或者bottom可实现2.通过transform(变换)属性PS:使用 transform: scaleY(0.5);缩小高度到0.5px,字体缩放也可以使用transform: scaleY();3.伪元素(pseudo-elements)注意事项视觉模糊:使用transfo
2024-08-29 13:32:40
317
原创 mac安装Homebrew curl: (28) Failed to connect to raw.githubusercontent.com port 443 after 75004 ms
第1步 打开host文件:打开finder,command+shfit+go 搜索/private/etc/hosts。点击hosts,修改有权限,第三步,验证是否添加成功。这里修改保存的副本,
2024-08-05 00:45:28
523
原创 for和for in forEach和for of有什么区别?
for和for in和forEach是ES5提出的,for用于循环数组,可以响应break和return跳出循环,可以通过控制循环变量的数值来控制循环的执行且循环效率高于forEach.For of 是ES6提出来的,遍历的是对象中的value,跟 forEach 相比,可以正确响应 break, continue, return。forEach会对循环的每一个元素调用callback,循环时不能 break 和 return跳出,在调用时不做建议添加和删除操作。相同点:都是对数组或对象进行遍历。
2024-02-19 12:03:06
291
原创 html5使用webpack和不使用webpack有什么区?
Webpack具有丰富的插件生态,可以为开发提供便利的功能,如热模块替换(Hot Module Replacement)、源代码映射(Source Map)等,极大地提升了开发效率和调试体验。而使用Webpack后,可以利用其强大的模块化能力,自动处理模块间的依赖关系,并通过打包输出单一的文件,简化了页面加载和脚本管理的复杂性。而Webpack支持代码分割(Code Splitting),可以将代码按需拆分,仅在需要时才加载相应的模块,从而减少初次加载的时间和提高用户体验。
2024-02-17 17:47:05
319
转载 Vue—样式穿透/deep/ >>> ::v-deep deep()四者的区别
Vue—样式穿透/deep/ ,>>>, ::v-deep和 deep()四者的区别Vue—样式穿透/deep/ >>> ::v-deep deep()四者的区别1./deep/#在vue3.0之前可使用,例如(复写样式前加/deep/),vue3.0及后使用就会报错& /deep/ .el-input {width: 60px;}2. ::v-deep#在vue3.0及后使用,替代/deep/&::v-deep .el-input {
2022-05-28 17:59:18
3675
原创 截取url地址返回参数
第一种输入对应的url的key,返回对应的valuefunction getUrlValue(kValue) { var url = window.location.href; //当前页面的地址 var reg = /([^?&=]+)=([^?&=]+)/g, obj = {}, str = url; url.replace(reg, function () { obj[arguments[1]] = arguments[2];
2022-05-27 16:22:54
309
原创 关于项目初始化的几个糟心时刻
npm ERR! enoent ENOENT: no such file or directory, open ‘/Users/…’初始化项目时很巧不巧的遇到了一小撮儿的问题,特地做个conclusion,也让自己错个明白。问题1:最初一开始需要对项目初始化,老一套的就是npm install安装mudules一步到位,好巧不巧的是项目用了淘宝镜像,所以抛出了* npm ERR! gyp ERR! not ok*,就是告诉你项目锁定了资源的下载路径,需要使用淘宝镜像下载,果不其然,打开package.
2022-05-20 23:17:24
176
原创 小程序坑爹玩意儿的 U.createEvent is not a function报错问题汇总
小程序坑爹玩意儿的 MiniProgramError U.createEvent is not a function报错问题汇总控制台报错的型儿:是不是在调用 showLoading 之前调了 hideLoading(全局搜索wx.hideLoading(),这俩要成对出现,一个一个排查);所有的 promise 都需要 catch 一下;没有在app.json里面申明报错页面;旧手机调试时提示U.createEvent is not a function TypeError发现是 证书的问
2021-06-01 01:15:53
6360
8
原创 为什么vue中data是函数而不是一个简单对象?
为什么vue中data是函数而不是一个简单对象?为什么不是对象?vue 中每一个 .vue文件都是一个组件,vue抽离成一个个单独的组件就是为了实现复用,那么问题来了,如果组件实现了复用,组件中的data数据 自然就会被复用,但我们复用组件目的可不是为了在不同页面展示相同的数据。而且假设data是Object引用数据类型,每个组件的data对象都是指向内存的同一个地址,复用组件时,一处改变了就会连累其他复用组件改变,这当然也不是我们想要的结果,所以,每个data不能指向同一个地址,下面用原型链来解释这
2020-06-16 20:22:24
556
原创 利用immutable实现深复制
利用immutable实现深复制1. 以往实现复制的方法浅复制 :var arr = { } ; arr2 = arr ;一般也认为是浅复制:Object.assign() 只是一级属性复制,比浅拷贝多深拷贝了一层而已深复制但有缺点:const obj1 = JSON.parse(JSON.stringify(obj)); 数组,对象都好用的方法(缺 点: 不能有undefined)使...
2020-03-30 01:37:00
623
原创 json-server
json-serverjson-servermock数据的工具,主要用于前端模拟接口,模拟数据的增删改查安装和使用在任意文件夹下创建一个json文件,作为存放数据的数据库(模拟数据库)如:test.json全局安装:cnpm i -g json-server(推荐使用cnpm淘宝镜像下载,相比npm速度必须给好评)查看版本号:json-server --version(一般查看版本号...
2020-03-27 00:19:56
239
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人