我已经完成了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
完全没问题是什么问题。
尝试更新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