如何为react-big-calendar(fullcalendar.js)设置momentLocalizer(moment.js)?

时间:2016-04-09 08:24:10

标签: javascript reactjs momentjs

我正在使用react-big-calendar 并需要帮助来实现所需的本地化 来自git的例子

import BigCalendar from 'react-big-calendar';
import moment from 'moment';

BigCalendar.setLocalizer(
  BigCalendar.momentLocalizer(moment)
);

我的代码

var moment = require('moment');
var momentLocalizer = require('react-widgets/lib/localizers/moment');
import BigCalendar from 'react-big-calendar';

BigCalendar.setLocalizer(
    BigCalendar.momentLocalizer(moment.locale('en'))
);

let MyCalendar = props => (
    <div>
        <BigCalendar

        />
    </div>
);

无论我尝试过什么都行不通

  

未捕获的TypeError:时刻不是函数

2 个答案:

答案 0 :(得分:7)

我必须导入我想要以正确的语言环境获取日历的语言环境。

注意import 'moment/locale/nb';

import React, { Component } from 'react';
import BigCalendar from 'react-big-calendar';
import moment from 'moment';
import 'moment/locale/nb';
import 'react-big-calendar/lib/css/react-big-calendar.css';

BigCalendar.setLocalizer(BigCalendar.momentLocalizer(moment));

class Calendar extends Component {
  constructor() {
    super();
    this.state = {
      events: [],
    };
  }

  render() {
    return (
      <div className="Calendar">
        <BigCalendar
          events={this.state.events}
        />
      </div>
    );
  }
}

这是针对 react-big-calendar 的0.17.0版本。

答案 1 :(得分:2)

我的代码如下,对我有用。如果我想改变本地化,我只需在我的BigCalendar上设置culture道具。

import React, { Component } from 'react';
import 'react-big-calendar/lib/css/react-big-calendar.css'
import BigCalendar from 'react-big-calendar';
import moment from 'moment';

BigCalendar.momentLocalizer(moment);

class Calendar extends Component {
    constructor(props, context) {
      super(props, context);
    }

    render() {
      return (
        <div>
          <BigCalendar
            culture='en-GB'
            events={this.props.tasks}
            views={['month', 'week']}/>
        </div>
      );
    }
  }