我正在使用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:时刻不是函数
答案 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>
);
}
}