【问题标题】:React : date[("get" + method)] is not a functionReact : date[("get" + method)] 不是函数
【发布时间】:2019-12-13 19:37:57
【问题描述】:

我是 Node/Webpack/React 的新手。当我在月/周/日视图之间切换时,应用程序经常崩溃,并且我在控制台中收到此错误:index.js?07ad:209 Uncaught TypeError: date[("get" + method)] is not a function。

请帮帮我,谢谢

代码

          <MyCalendar
                popup
                selectable
                localizer={localizer}
                defaultView={[MyCalendar.Views.WEEK ]}
                components={{toolbar: CustomToolbar}}
                views={['week']}
                style={{height: 600}}
                events={this.props.events}
                eventPropGetter={(this.eventStyleGetter)}
                onSelectEvent={(slotInfo) => this.onSelectEventHandler(slotInfo)}
                onSelectSlot={(slotInfo) => this.onSelectEventSlotHandler(slotInfo)}
            />

功能

function createAccessor(method) {
  return function (date, val) {
    if (val === undefined) return date['get' + method]();
    date = new Date(date);
    date['set' + method](val);
    return date;
  };
}

【问题讨论】:

  • 你必须发布崩溃的功能
  • @Andrea-codemillers.com 请检查问题,我刚刚更新了我的问题并添加了功能
  • 'get' + method 的组合没有从date&lt;Array&gt; 返回有效的函数,这就是导致错误的原因。
  • 您可以通过console.logdatemethod 进行调试,这将使您了解其中哪些给出了错误的值。
  • @SultanH。你能帮我解决这个问题吗

标签: javascript reactjs ecmascript-6 react-big-calendar


【解决方案1】:

当您尝试显示的日期是“字符串”时,实际上“日期”是“对象”类型时,就会发生这种情况,那么您可以执行以下操作:

var DATEString = "2020-08-31T05:00:00.000Z"
var dateLike = new Date(DATEString)

我的代码示例:

ReqCitas.data.forEach(cita => {
      Object.assign(cita,{ "uuid": uuidv4()})
      cita.start =  new Date(cita.start)
      cita.end =  new Date(cita.end)
});

【讨论】:

    猜你喜欢
    • 2019-12-08
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 2016-04-23
    • 2018-09-28
    • 2022-01-14
    • 2022-06-28
    • 2019-05-03
    相关资源
    最近更新 更多