无法使React应用在IE11中工作:向提供者提供了无效的prop`children`

问题描述 投票:0回答:1

我有一个我需要添加IE11支持的React应用。它正在运行,但是出现错误,导致该应用无法使用。

控制台抱怨道具类型不正确(其他浏览器没有抱怨):

Invalid prop `children` supplied to `ModalProvider`

[我怀疑问题是Symbol没有(正确地)填充,因为当我登录props.children对象时,它说的是关于Symbolundefined的内容,并且StackOverflow上还有许多其他问题描述Symbol,IE11和polyfill。请参见下面的屏幕截图:

enter image description here

我尝试了描述的许多不同解决方案,但无法消除此错误,因此可以使应用正常运行。你有什么想法? 😊

该项目

首先,该项目是两个单独的react项目,其中一个(仅显示导入/链接的组件的简单react-scripts应用程序,叫它A)链接到另一个(复杂的导出模块,让我们调用B)。因此,我不确定要填充其中的哪一个,或两者都不确定。

BWebpack.config.js
var path = require('path')

module.exports = {
  entry: {
    maps: './src/index.js'
  },
  output: {
    path: __dirname + '/dist',
    filename: 'index.js',
    library: 'Map',
    libraryTarget: 'umd'
  },
  module: {
    rules: [
      {
        test: /\.[s]?css$/,
        use: [
          'style-loader',
          {
            loader: 'css-loader',
            options: {
              importLoaders: 1,
              modules: true,
              localIdentName: '[local]--[sha1:hash:hex:4]'
            }
          },
          'sass-loader'
        ],
        include: /\.module\.[s]?css$/
      },
      {
        test: /\.[s]?css$/,
        use: ['style-loader', 'css-loader', 'sass-loader'],
        exclude: /\.module\.[s]?css$/
      },
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        use: ['babel-loader']
      },
      {
        test: /\.svg$/,
        use: ['@svgr/webpack']
      },
      {
        test: /\.(jpe?g|png)$/i,
        loader: 'file-loader?name=/public/icons/[name].[ext]'
      }
    ]
  },
  resolve: {
    modules: [
      path.resolve(__dirname, 'src'),
      path.resolve(__dirname, 'node_modules')
    ],
    extensions: ['.js', '.jsx']
  },
  externals: {
    // Use external version of React
    react: 'react',
    'react-dom': 'react-dom'
  },
  // NOTE: @claus added options to fix files not being watched
  watchOptions: {
    aggregateTimeout: 300,
    poll: 1000
  }
}
[[B的package.json浏览器列表:"browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all", "ie 11" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version", "ie 11" ] }
B
.babelrc{ "presets": [ ["@babel/preset-env"], "@babel/preset-react"], "plugins": ["@babel/plugin-proposal-object-rest-spread"] }
reactjs webpack internet-explorer-11 babel polyfills
1个回答
0
投票
您是否已按照以下步骤在IE 11中支持react app?
© www.soinside.com 2019 - 2024. All rights reserved.