zh-lx / code-inspector

Click the dom on the page, it will open your IDE and position the cursor to the source code location of the dom.
https://inspector.fe-dev.cn/en
MIT License
1.51k stars 113 forks source link

遍历JSXElement节点的时候,没有区分是react组件还是普通html标签,导致给react组件添加一个data-insp-path属性 #171

Closed senfish closed 1 month ago

senfish commented 1 month ago

提示:越详细的信息越有助于排查和解决问题,如果方便请加入本项目 README.md 最下面的 QQ 群或者微信群提供更详细的信息

插件版本

version: ^0.14.0

Bug 类型

Bug 描述

app.jsx

image

user.jsx

image

浏览器控制台

image

源码地址

系统

你使用的打包器及版本

你使用的 web 框架

自检信息

zh-lx commented 1 month ago

这个是插件特意如此设置的,因为对于第三方组件库,无法参与组件内部源码的编译,所以必须给组件节点上注入属性(react 默认会继承到组件根节点)。

如果对你的业务有影响,可以将插件的 escapeTags 属性设置为 /^[A-Z].*/ 排除掉组件注入(视大写字母开头的为组件)

senfish commented 1 month ago

感谢回复,昨天想了一下,除了你说的这种方法,感觉好像比较难区分到底是react业务组件还是antd的Button组件

zh-lx commented 1 month ago

感谢回复,昨天想了一下,除了你说的这种方法,感觉好像比较难区分到底是react业务组件还是antd的Button组件

嗯,如果想要排除业务组件而又不排除 antd 的组件确实比较麻烦,只能写个正则保留你需要常用的 antd 组件如 ButtonSelectInput 等,例如:^(?!Button|Input|Select)[A-Z][a-zA-Z]*