如果导入了events-polyfill,则React Datepicker无法正常工作

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

我已经完成了react-datepicker包的基本设置,它正在运行。但是,在我们的应用程序中,我们也使用events-polyfill包。当这两个包同时使用时,react-datepicker无法正常工作。

import React from "react";
import ReactDOM from "react-dom";
import DatePicker from "react-datepicker";
import "events-polyfill";

import "react-datepicker/dist/react-datepicker.css";
import "./styles.css";

function App() {
  return <Example />;
}

// CSS Modules, react-datepicker-cssmodules.css
// import 'react-datepicker/dist/react-datepicker-cssmodules.css';

class Example extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      startDate: new Date()
    };
    this.handleChange = this.handleChange.bind(this);
  }

  handleChange(date) {
    this.setState({
      startDate: date
    });
  }

  render() {
    return (
      <DatePicker
        selected={this.state.startDate}
        onChange={this.handleChange}
      />
    );
  }
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

但是:Kua zxsw指出

完整错误:

https://codesandbox.io/s/pj3yl7o0wm

这在Uncaught TypeError: Cannot read property 'once' of null at Object.module.exports.EventListenerInterceptor.normalizeListenerOptions (index.js:111) at Object.module.exports.EventListenerInterceptor.normalizeListenerArguments (index.js:122) at HTMLDocument.target.addEventListener (index.js:161) at react-onclickoutside.es.js:226 at Array.forEach (<anonymous>) at onClickOutside._this.enableOnClickOutside (react-onclickoutside.es.js:225) at onClickOutside.componentDidMount (react-onclickoutside.es.js:296) at commitLifeCycles (react-dom.development.js:14362) at commitAllLifeCycles (react-dom.development.js:15463) at HTMLUnknownElement.callCallback (react-dom.development.js:100) 文件中突出显示为罪魁祸首:

events-polyfill index.js

完全没问题是什么问题。

javascript reactjs polyfills uncaught-typeerror react-datepicker
1个回答
1
投票

尝试更新events-polyfill包。

看起来像当前版本options.once = Boolean(options.once); 有针对这种情况的修复。

这是修复https://github.com/lifaon74/events-polyfill/blob/master/src/EventListenerInterceptor.js#L105的提交它针对2.1.1但是npm只有2.1.0

https://github.com/lifaon74/events-polyfill/commit/a087bf90e2335cdad670d08499157c40ea73abdb

© www.soinside.com 2019 - 2024. All rights reserved.