【问题标题】:Cannot read property 'momentLocalizer' of undefined - React Big Calendar无法读取未定义的属性'momentLocalizer' - React Big Calendar
【发布时间】:2018-10-08 15:32:53
【问题描述】:

在我的项目中,我试图初始化 react-big-calendar 但它说它不存在。

Uncaught TypeError: Cannot read property 'momentLocalizer' of undefined

我的包版本:“react-dom”:“16.2.0”,“react-big-calendar”:“^0.20.1”,“moment”:“^2.22.2”,

有人有解决这些问题的办法吗?

我知道存在这样的问题,但它涉及不需要本地化程序的旧版本。

import * as React from 'react';
import BigCalendar from 'react-big-calendar';
import * as moment from 'moment';


class CalendarContainer extends React.Component {
    constructor(props: any) {
        super(props);
    }

    render() {
        const localizer = BigCalendar.momentLocalizer(moment);
        return (
            <>
                <BigCalendar localizer={localizer} events={events} />
            </>
        );
    }
}

export default CalendarContainer;

【问题讨论】:

  • 您会发布产生错误的相关code 吗?
  • 我已经编辑了我的帖子

标签: reactjs momentjs react-big-calendar


【解决方案1】:

我遇到了同样的问题:

import moment from 'moment';
import { Calendar, momentLocalizer } from 'react-big-calendar';
import 'react-big-calendar/lib/css/react-big-calendar.css';
const localizer = momentLocalizer(moment);

class CalendarContainer extends React.Component {
    constructor(props: any) {
        super(props);
    }

    render() {
        return (
            <>
                <Calendar localizer={localizer} events={events} />
            </>
        );
    }
}

export default CalendarContainer;

【讨论】:

    【解决方案2】:

    您可能想尝试将定位器从渲染中拉出。

    import * as React from 'react';
    import BigCalendar from 'react-big-calendar';
    import * as moment from 'moment';
    
    const localizer = BigCalendar.momentLocalizer(moment);
    
    class CalendarContainer extends React.Component {
        constructor(props: any) {
            super(props);
        }
    
        render() {
            return (
                <>
                    <BigCalendar localizer={localizer} events={events} />
                </>
            );
        }
    }
    
    export default CalendarContainer;
    

    【讨论】:

      【解决方案3】:

      你可以试试下面的代码...

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-15
        • 1970-01-01
        • 2019-04-09
        • 2020-10-10
        • 2019-02-15
        相关资源
        最近更新 更多