【问题标题】:Commenting useState prevents crash on IE11评论 useState 防止在 IE11 上崩溃
【发布时间】:2020-04-07 18:17:04
【问题描述】:

我上传了a repository

dist/index.htm 导致 IE11 崩溃,如下所示。

无法获取未定义或空引用的属性“根”

// inner.jsx
import { Grid } from '@material-ui/core';
import React, { useState } from 'react';

export function Inner() {
  var [path] = useState(''); // <- why commenting this prevents crash?
  return <Grid container></Grid>;
}

但是在src/inner.jsx 中评论var [path] = useState('') 并运行npm run publish,不会发生崩溃。结果看不懂。

这是错误吗?如果是这样,我应该在哪里提出问题?

【问题讨论】:

    标签: javascript reactjs material-ui babeljs core-js


    【解决方案1】:

    useBuiltIns: 'usage' 更改为 useBuiltIns: 'entry' 可解决 IE11 的问题。

    【讨论】:

    • preset-env 的useBuiltins: 'usage' 不够用?它是更复杂项目的简化版本。 Polyfill 效果很好。
    • 如果我们合并AppInner 那么崩溃也会消失。即使这是 polyfill 问题,也很奇怪。
    • 当您导入内部时,您使用的是对象扩展,当您使用 useState 挂钩时,您使用的是数组扩展。 IE11 需要 polyfills 来处理传播 :)
    • 我上传了polyfill POC版本。我没有触及任何构建配置。它在 IE11 上运行,没有崩溃。
    • 不错。我倾向于使用 facebook/create-react-app 有和没有 IE11 polyfills(如他们的文档中所述)。
    猜你喜欢
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多