实习心得(持续更新)

目录

2024/11/25-2024/11/29

下拉框回填错误

尽量不要在公共函数写非公共的东西

loadsh库

dom抓取技巧

设置visible

暂停和开启JavaScript调试程序

定时器+debugger

模拟已经聚焦的网页

z-index样式

请求响应数据的替代

获取/监听元素宽高 

2024/12/02-2024/12/06

图片懒加载

transform

暂时删除页面元素

属性被画横线的情况


2024/11/25-2024/11/29

下拉框回填错误

1.下拉列表的值是后端接口得到的,页面已经开始渲染但是请求数据还没回来,就会用用于查找label的value值回填

2.下拉列表的值是前端静态存储的,而由于你获取的用于查找label的value是字符串,但是本地的value是Number,导致不能找到对应的label,最后只能用获取的value回填

下面是第二种情况示例

尽量不要在公共函数写非公共的东西

loadsh库

loadsh.js 是一款 JavaScript 实用库,提供了许多常用的函数,可以帮助我们简化开发过程,提高代码质量和效率,但是在页面引用的时候,我们要按需引入,不能只用某个函数,而将所有函数导入增加打包体积

https://www.lodashjs.com/docs/lodash.sortedIndexicon-default.png?t=O83Ahttps://www.lodashjs.com/docs/lodash.sortedIndexloadsh.js常用方法讲解icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_41884153/article/details/130339946?ops_request_misc=%257B%2522request%255Fid%2522%253A%25220cf0e53001c277ec56d9668dea431859%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=0cf0e53001c277ec56d9668dea431859&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-130339946-null-null.142%5Ev100%5Epc_search_result_base5&utm_term=loadsh&spm=1018.2226.3001.4187

下面是一个简单的例子,用isNil(value)替代了value==undefined||value==null,十分简洁

dom抓取技巧

对于下拉框或悬浮出现但是移开又消失这种,我们常常难以获取dom结构,为此我们有如下四种方法

设置visible

如果是用组件库,则一般都有visible属性,当你设置为true的时候,我们就可以对dom进行抓取,但是不推荐使用,因为我们可能会忘记调试过后将visible属性去除

暂停和开启JavaScript调试程序

在调试窗口输入Ctrl+Shift+P,就会弹出下面窗口

定时器+debugger

先打个定时器,在回调函数里面写个debugger,然后我们去选下拉框或者悬浮在某个标签上面,等自动debugger把页面卡住就行

模拟已经聚焦的网页

问题出现:点击下拉框之后,再点其他地方就会失焦点,下拉框收起!dom元素获取不到!(悬浮出现但是移开又消失这种不适用)

此时把下面图片的勾勾打起来

当你再点这个选取元素的时候就不会让下拉框因为失焦而收起!

z-index样式

在项目中修改z-index的时候,不能为了解决当前问题,一味把层级变的非常高或者变的非常低,不然虽然会解决当前问题,但是可能会对项目引入新的问题!!!

请求响应数据的替代

对于请求响应的数据,我们可以进行人为更改,在调试窗口当中找到网络,在网络当中找到对应请求,然后在响应中右键点替换内容

在本地新建文件夹,然后修改对应参数即可

获取/监听元素宽高 

在 React 中,container.current.getBoundingClientRect().height 和 ahooks 库中的 useSize() Hook 都用于获取 DOM 元素的尺寸信息,但它们的使用方式和功能上有一些显著的区别。

1. container.current.getBoundingClientRect()

使用方式:这是一个直接的 DOM API 调用,通过 ref 获取到 DOM 元素的引用后,调用 getBoundingClientRect() 方法来获取元素的尺寸信息(如高度、宽度、位置等)。

实时性:这个方法是同步的,立即返回当前 DOM 元素的尺寸信息。但需要注意的是,它不会自动监听元素尺寸的变化,因此如果元素的尺寸在页面加载后发生了变化(例如由于内容变化或 CSS 调整),你需要手动重新调用这个方法来获取最新的尺寸信息。

缺点:每次需要获取尺寸时都需要手动调用,无法自动响应尺寸变化。

2. useSize()

使用方式:这是一个 React Hook,它封装了监听 DOM 元素尺寸变化的功能。你只需要将 ref 传递给 useSize(),它就会返回元素的当前尺寸信息,并且会自动监听元素尺寸的变化,并返回最新的尺寸信息。
实时性:useSize() 是一个响应式的 Hook,它会自动监听元素尺寸的变化,并且会在尺寸变化时更新返回的尺寸信息。这意味着你不需要手动调用任何方法来获取最新的尺寸信息。
便利性:使用 useSize() 可以避免手动管理尺寸变化的监听逻辑,减少了代码的复杂性。
依赖库:ahooks 是阿里开源的一个 React Hooks 库,提供了许多实用的 Hooks,useSize() 就是其中之一。你需要安装并引入 ahooks 库才能使用这个 Hook。

3. 场景:
如果只需要在某些特定时刻获取元素的尺寸,可以使用container.current.getBoundingClientRect() 。如果你希望自动监听并响应元素尺寸的变化,useSize() 是一个更方便的选择。

2024/12/02-2024/12/06

图片懒加载

图片懒加载icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_62268437/article/details/144216099?spm=1001.2014.3001.5501

transform

transformicon-default.png?t=O83Ahttps://transform.tools/js-object-to-typescript主要用于各种代码转换 

暂时删除页面元素

打开调试窗口,选择元素,再按键盘的delete键可以直接暂时删除页面元素,方便样式排查

属性被画横线的情况

属性被画横线目前有两种情况:一种是属性被覆盖了,一种是属性名或者属性值无效,cale(50%-32px)是无效属性值,而cale(50% - 32px)则是有效属性值,运算符前后有空格

子元素的高度可以超过父元素

当子元素的高度超过父元素,并且父元素没有设置滚动条,父元素会被直接撑开

2024/12/16-2024/12/20

样式被覆盖

在使用谷歌浏览器的时候,如果自己代码更改的样式一直不生效,就去看看是不是样式被代理覆盖了

2024/12/30-2025/01/03

Form.Item包裹下面的第一层要是表单控件,要不然初始化initialValue和提交会失效!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

deyong1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值