События не отображаются в представлении месяца при загрузке календаря по умолчанию - PullRequest
0 голосов
/ 08 марта 2019

Я использую React Big Calendar для календарных целей.

<BigCalendar
    selectable
    events={this.state.events}
    step={60}
    defaultDate={new Date()}
    localizer={localizer}
    dayPropGetter={this.dayStyleGetter}
    onSelectSlot = {this.handleSelect}
    eventPropGetter={(this.eventStyleGetter)}/>

Это мой компонент.События не отображаются в представлении месяца, когда загружен календарь по умолчанию.Я знаю одну причину для этого.Мои события, которые находятся в состоянии, пусты, поэтому в календаре не отображаются события в представлении месяца.

Тогда, если я предоставлю государству какие-либо статические события, могу ли я получить их в виде месяца или нет?

1 Ответ

0 голосов
/ 12 марта 2019

Я испытывал это в прошлом, если значения start и end события не были объектами JavaScript Date. Если вы только передали строки, начальный вид не будет работать правильно. Навигация по представлениям затем передаст значения через ваш localizer (во время изменения представления) и преобразует их, если это возможно. Таким образом, вы не видите их при загрузке, а затем вы видите после перехода к другому виду. Смущает и расстраивает.

Я даже написал вспомогательные методы в своем собственном коде для преобразования этих значений.

import eventData from './somefile.json';

const myData = eventData.map(event => {
  event.start = new Date(event.start);
  event.end = new Date(event.end);
  return event;
});

Конечно, это работает, только если мои значения start и end являются строками, которые конструктор объектов Date может правильно проанализировать. Важная часть (а это - в документации) заключается в том, что эти ключи требуют правильных Date значений объекта.

...