【问题标题】:Why is moment undefined in my fullcalendar-scheduler implementation in React?为什么我在 React 中的 fullcalendar-scheduler 实现中未定义时刻?
【发布时间】:2016-01-14 17:34:12
【问题描述】:

当我只实现fullcalendar 时没有问题,但是当我尝试实现fullcalendar-scheduler 时却出现了瞬间错误。

这是我的代码:

var $ = require('jquery');
require('moment');
require('fullcalendar');
require('fullcalendar-scheduler');

还有我的反应类:

var Calendar = React.createClass({

    componentDidMount: function () {

        var resources = this.props.venues;

        $('#calendar').fullCalendar({
            defaultView: 'agendaWeek',
            events: [

            ],
            resources: resources
        });
    },

    render: function () {
        return (
            <div id='calendar'></div>
        );
    }
});

只需注释掉require('fullcalendar-scheduler') 行,我的代码就可以运行,日历就会弹出。但包括它会给我这个错误:

Uncaught ReferenceError: moment is not defined

我在this thread 中看到我应该在完整日历之前包含时刻,我正在这样做。

有什么想法吗?

【问题讨论】:

  • 你的构建系统是什么? Browserify 或 Webpack 还是别的什么?

标签: javascript reactjs fullcalendar momentjs


【解决方案1】:

ReactJS 不支持全局变量,这似乎是这个日历所需要的。你可以使用 Flux 或 Redux,它可以添加这些东西。

另一种选择是将moment.js导入到文档的头部,这将附加一个全局变量。

【讨论】:

  • 哎呀忘了提我一开始是这样的。它没有用。
  • 查看新的解释。
  • 我不认为 React 关心任何一种方式,但你的构建系统会。
  • React 将使用全局变量,但是当您需要它时,它会在不同的范围内创建它。见:facebook.github.io/react/docs/context.html
  • 我最终将 moment.js 导入到我的文档头部。我真的很想避免这种情况,但你能做什么!
猜你喜欢
  • 1970-01-01
  • 2019-05-28
  • 1970-01-01
  • 2023-01-23
  • 1970-01-01
  • 2020-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多