Javascript HTML自定义属性未显示?

Javascript HTML自定义属性未显示?,javascript,html,reactjs,testing,testcafe,Javascript,Html,Reactjs,Testing,Testcafe,使用React应用程序,我目前正在为E2E测试(Testcafe)的HTML标记或React组件添加自定义属性 我不知道为什么在我查看页面时,额外的数据测试=“汉堡菜单btn”没有显示在任何元素中 import {slide as Menu} from 'react-burger-menu'; ... <Menu className="sidebar-menu" isOpen={menuOpen} data-test="burger-menu-btn&

使用React应用程序,我目前正在为E2E测试(Testcafe)的HTML标记或React组件添加自定义属性

我不知道为什么在我查看页面时,额外的数据测试=“汉堡菜单btn”没有显示在任何元素中

 import {slide as Menu} from 'react-burger-menu';
 ...

 <Menu className="sidebar-menu" isOpen={menuOpen} data-test="burger-menu-btn">
        <Nav.Link onClick={() => goTo("/dashboard")}>
        ...
 </Menu>
从'react burger Menu'导入{slide as Menu};
...
转到(“/仪表板”)}>
...
它也适用于常规HTML标记,例如

<button className={"redirect-button"} data-test="return-dashboard-btn">Return</button>
返回
因此,testcafe无法找到带有
等待选择器('[data test=“return dashboard btn”]'的按钮

该应用程序通过webpack dev服务器或webpack捆绑包提供


我认为webpack不会删除任何HTML属性,也不知道它们为什么会消失。

因此,在react burger菜单中的
组件中,没有您可以在其存储库中看到的自定义道具。尝试创建您自己的组件或使用

通常,当您使用组件时,自定义属性可能不会出现,因为它们是道具,并且可能未在组件中使用。在您的例子中,
是组件,通常,您传递的属性是它的道具。您需要打开菜单,然后查看是否可以修改它。我不推荐它,因为它是您组件的一部分


据我所知,菜单不接受自定义属性。你需要自己制作一个可以定制道具的道具。最好的办法是,复制Menu.js并将其命名为MenuExtended,允许自定义道具作为组件的属性。

它肯定应该与
元素一起工作,但
是一个组件,只要它不将任何附加道具转发给它呈现的实际DOM元素,它就会被忽略。谢谢@AdelmoMezzi。但是元素有什么问题吗?检查您是否还没有导入按钮组件。如果是react组件,则react很可能会在呈现DOM时去掉按钮的自定义属性。