реагировать родные календари, помеченные даты не отображаются - PullRequest
0 голосов
/ 11 сентября 2018

Использование реагирование на собственные календари Я пытаюсь использовать onVisibleMonthsChange для обновления событий для каждого месяца, мое состояние обновляется с правильными данными, но календарь кажется пустым, какие-либо идеи?

CalendarList не выполняет рендеринг с использованием loadItems(dates)

Заполните CalendarList событиями между dates param. Я создаю свои данные в редукторе событий:

        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 }
        });
    }

Ссылка на репо:

https://bitbucket.org/matthisco/ejected-calendar/src/7953011ab44b08f60307d051655d8dcb3035a889/?at=feature%2FChunk_event_data

наблюдаемое поведение

Месяц не отображает:

10

Окружающая среда

  • react-native-calendars@1.19.4
  • react-native@0.55.4
...