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

Я использую 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)}/>

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

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


person Jayakar Pj    schedule 08.03.2019    source источник


Ответы (1)


Я сталкивался с этим в прошлом, если значения 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.

person Steve -Cutter- Blades    schedule 12.03.2019