Реагировать родные календари, помеченныеДаты не отображаются
Используя реагировать родные календари, которые я пытаюсь использовать onVisibleMonthsChange
чтобы обновлять события для каждого месяца, мое состояние обновляется с правильными данными, но календарь кажется пустым, есть идеи?
CalendarList не отображает с помощью loadItems(dates)
населять CalendarList
с событиями между ними dates
пары. Я создаю свои данные в моем редукторе событий:
const newItems = {};
for (let i = 0; i < 180; i++) {
const time = moment().utc() + i * 24 * 60 * 60 * 1000;
const strTime = timeToString(time);
if (events[strTime]) {
newItems[strTime] = { ...events[strTime] };
} else {
newItems[strTime] = {};
}
}
return {
...newItems
};
Я звоню из componentDidMount
, в моем месячном компоненте:
const { componentDidMount() {
const {
credentials: { year, group, id },
fetchEvents
} = this.props;
const Id = id || group;
fetchEvents(Id);
}
Затем я отмечаю соответствующие даты как выбранные, используя loadItems
пары:
loadItems(dates) {
const { events } = this.props;
const moment = extendMoment(Moment);
const lastItemIndex = dates.length;
const startDate = moment(dates[0].timestamp).startOf("month"),
endDate = moment(dates[lastItemIndex - 1]).endOf("month");
const dateRange = moment().range(startDate, endDate);
newEvents = Object.keys(events).reduce((output, dateString) => {
if (dateRange.contains(moment(dateString).toDate())) {
output[dateString] = events[dateString];
if (!helpers.emptyObject(output[dateString])) {
output[dateString].selected = true;
}
}
return output;
}, {});
this.setState({
markedDates: { ...newEvents, ...this.state.markedDates }
});
}
Ссылка на репо:
Наблюдаемое поведение
Месяц не рендерит:
Среда
- react-native-calendars@1.19.4
- react-native@0.55.4