Javascript react big calendar错误:为'Popup'提供的'date'类型的'slotStart'无效,应为'number'`

Javascript react big calendar错误:为'Popup'提供的'date'类型的'slotStart'无效,应为'number'`,javascript,reactjs,date,momentjs,react-big-calendar,Javascript,Reactjs,Date,Momentjs,React Big Calendar,我正在使用prop“popup”作为react big calendar,单击“+x more”链接时,我在控制台中得到了上述错误。我的onEventClick函数通过将我路由到“calendar/”来工作,但我不确定我在这里遗漏了什么。我阅读了一些文档,但找不到解决问题的正确示例。我怀疑这与“时刻”或日期对象的格式不正确有关 import React from "react"; import BigCalendar from "react-big-calendar"; import momen

我正在使用prop“popup”作为react big calendar,单击“+x more”链接时,我在控制台中得到了上述错误。我的onEventClick函数通过将我路由到“calendar/”来工作,但我不确定我在这里遗漏了什么。我阅读了一些文档,但找不到解决问题的正确示例。我怀疑这与“时刻”或日期对象的格式不正确有关

import React from "react";
import BigCalendar from "react-big-calendar";
import moment from "moment";
import "react-big-calendar/lib/css/react-big-calendar.css";

const localizer = BigCalendar.momentLocalizer(moment);
let allViews = Object.keys(BigCalendar.Views).map(k => BigCalendar.Views[k]);

class Calendar extends React.Component {

  onEventChange = event => {
    this.onEventClick(event);
  };

  onEventClick = event => {
    this.setState({
      endDate: moment(event.end.toLocaleString()).format("YYYY-MM-DDTHH:mm"),
      startDate: moment(event.start.toLocaleString()).format("YYYY-MM-DDTHH:mm"),
      eventName: event.name
    });
    this.props.history.push("calendar/" + event.eventId);
  };

  render () {
    function Event({ event }) {
      return (
        <span id="eventTitle">
          {event.number +
            " - " +
            event.name}
        </span>
      );
    }
    return(
      <React.Fragment>
        <div style={{ height: 700 }}>
          <BigCalendar
            localizer={localizer}
            toolbar={true}
            events={this.state.events}
            popup
            selectable
            onSelectSlot={(slotInfo) => alert(
              `selected slot: \n\nstart ${slotInfo.start.toLocaleString()} ` +
              `\nend: ${slotInfo.end.toLocaleString()}`
            )}
            views={allViews}
            components={{
              event: Event
            }}
            onSelectEvent={event => this.onEventChange(event)}
            eventPropGetter={(event) => {
              let newStyle = {
                backgroundColor: "",
                color: "white",
                borderRadius: "5px",
                border: "none"
              };

              if (event.eventStatusCd === "CL   ") {
                newStyle.backgroundColor = "firebrick";
              }
              return {
                className: "",
                style: newStyle
              };
            }}
          />
        </div>
      </React.Fragment>
    );
  }
}
export default Calendar;

在第一次实施时,我遇到了类似的问题。虽然react big calendar使用内部定位器(在您的情况下,它可能是瞬间),但它仍然希望在您提供的
事件中,所有
开始日期和
结束日期必须是有效的JS日期对象。我的建议是,不要运行
Date.parse()
,而是执行以下操作:

eventObj.start = moment(dateCreated).local().toDate(); // returns valid JS Date Object
eventObj.start = moment(dateCreated).local().toDate(); // returns valid JS Date Object