目前正在使用ReactJs和Fluxible架构构建Web应用程序。在尝试将React-daterangepicker模块集成到我的项目中时,我遇到了以下错误,其中我无法跟踪原点。
$.fn.daterangepicker = function(options, callback) {
^
TypeError: Cannot set property 'daterangepicker' of undefined
at /Volumes/DATA/Projects/deeplinq/node_modules/react-bootstrap-daterangepicker/lib/daterangepicker.js:1360:26
这是我的DatePicker组件,我已经按照github演示完成了相同的步骤。
'use strict';
var React = require('react/addons');
var moment = require('moment');
var DateRangePicker = require('react-bootstrap-daterangepicker');
import DefaultMixin from '../mixins/DefaultMixin';
module.exports = React.createClass({
mixins: [DefaultMixin],
render() {
return (
<DateRangePicker startDate={moment('1/1/2014')} endDate={moment('3/1/2014')}>
<div>Click Me To Open Picker!</div>
</DateRangePicker>
);
}
});
可能导致此错误的原因是什么?谷歌搜索它没有结果,我在过去几个小时里一直在努力。
答案 0 :(得分:1)
似乎react-bootstrap-daterangepicker
模块需要jQuery作为$
全局可用。在加载模块之前,请尝试在页面上包含jQuery。
答案 1 :(得分:0)
TL; DR:这不是一个反应问题,你需要在加载你的反应文件之前加载jQuery。
让我们解构您的错误消息:
$.fn.daterangepicker = function(options, callback) {
^
TypeError: Cannot set property 'daterangepicker' of undefined
at /Volumes/DATA/Projects/deeplinq/node_modules/react-bootstrap-daterangepicker/lib/daterangepicker.js:1360:26
我最感兴趣的是第一部分Cannot set property 'daterangepicker' of undefined
......
这种情况正在发生,因为$.fn
正在返回 undefined 。
试试这个:
在你需要做出反应之前,你应该要求jquery:
var $ = require('jquery');
var React = require('react/addons');