微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

React onClick事件在IE11中不起作用

如何解决React onClick事件在IE11中不起作用

在这里看到了类似的问题,但这些答案对我没有用。 因此,我有一个react / redux应用程序,在所有现代浏览器中都可以正常工作。但是在IE11中,简单的onClick(也是onMouseDown)处理程序无法正常工作。控制台中没有错误

onClick={() => alert('a')}

我使用webpack和babel-loader。 很多答案都建议添加babel-polyfill。但是,不赞成使用babel-polyfill,现在选择的是core-js和regenerator-runtime:

?从Babel 7.4.0开始,不推荐使用此软件包 直接包含core-js / stable(以实现polyfill ECMAScript功能) 和regenerator-runtime / runtime(需要使用转码生成函数):

检查了我的代码,发现我已经通过babel-plugin-transform-runtime和babel-preset-env获得了它们。但是我在上面也将它们排除在外,因为我在控制台中遇到了一些奇怪的错误,例如_typeof2 is not a function。在corejs github页面上,我发现应该在转译过程中排除core-js。我现在不确定它们是否全部包含在捆绑包中 这是我的webpack代码

 {
     test: /\.[jt]sx?$/,exclude: [
         /\bcore-js\b/,/\bwebpack\b/,/\bregenerator-runtime\b/,/\bruntime-corejs3\b/,],use: [
         {
             loader: BABEL_LOADER,options: {
                 sourceType: 'unambiguous',presets: [
                 [
                     BABEL_PRESET_ENV,{
                         targets: '> 0.25%,not dead',useBuiltIns: 'entry',corejs: 3
                     },BABEL_PRESET_TYPESCRIPT,BABEL_PRESET_REACT,plugins: [
                 [BABEL_PLUGIN_TRANSFORM_RUNTIME,{ corejs: 3,"regenerator": true }],}
   },]
},

似乎我处于一个被诅咒的圈子:我需要core-js和regenerator-runtime来使ie11正常工作,但是我需要排除它们。

请帮助弄清楚这一点

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。