0

我是新来的反应和antd。

我使用 create-react-app 开始了一个新的 react 项目。我安装了 antd (ant.design)。

我通过添加一个导入并将其添加到我的渲染中来试用 DatePicker,修改 App.js 如下:

import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';

import { DatePicker } from 'antd';

class App extends Component {
  render() {
    return (
      <div className="App">
        <div className="App-header">
          <img src={logo} className="App-logo" alt="logo" />
          <h2>Welcome to React</h2>
        </div>
        <p className="App-intro">
          To get started, edit <code>src/App.js</code> and save to reload.
        </p>
        <DatePicker/>
      </div>
    );
  }
}

export default App;

在 Chrome 中它似乎可以工作,虽然样式很奇怪。在 IE11 中,由于调用了 startsWith 函数(在 IE11 中不支持 startsWith),它不会加载。但是,ant.design 网站上的 DatePicker 演示在 IE11 中运行。

似乎我以某种方式缺少一些 polyfills / 旧浏览器支持。如果我尝试进行生产构建并提供服务,它也会出现同样的错误。

需要做什么才能让 antd 在 IE11 等浏览器上运行通过 create-react-app 创建的应用程序?

4

1 回答 1

2

Create-react-app 不包含 polyfill。

我通过安装core-js并在文件中导入我想要的 es6 模块来解决这个问题src/index.js

import 'core-js/es6';

你也可以只导入你想要的特定模块:

import 'core-js/es6/function';

我推荐第一个,因为您很可能最终会在整个应用程序中使用更多功能。

于 2017-05-17T23:41:27.037 回答