我使用的是一个简单版本的CRA,没有任何Eject命令等等。在开发模式中,我可以看到一个源映射,即出现警告的行。
我面临的问题是,onClick事件在开发模式下非常有效,但当我键入yarn build
并提供主文件时,onClicks不起作用,在控制台中没有错误,也没有警告。
问题出在哪里?
边栏结构代码:
{
id: 24,
label: "Add section",
icon: <AddSection />,
click: function(event, ...rest) {
const name = "addSectionClick";
rest.forEach(c => {
if (c.name === name) {
return c(event);
}
return false;
});
}
},
它正在SidebarLink上传播:
<ListItem
onClick={e => {
if (click) {
return click(e, addSectionClick, chatSetOpen, onLogin);
}
return toggleDrawer(e);
}}
/>
addSectionClick, chatSetOpen, onLogin
它的功能,即包含反作用钩子
问题是赋值是作为函数名和字符串之间的比较来实现的。
但问题是,由于巴别塔优化,函数名称发生了变化。
所以我只是给比较的函数加一个值