【发布时间】:2020-05-12 17:38:54
【问题描述】:
我正在尝试在 react-big-calendar 上显示来自 api 的事件,但由于某种原因,这些事件没有显示在日历上。我让事件得到控制台,但它们没有出现在日历中。 这是我的 Calendar.js 组件:
import React, { useState, useEffect } from 'react';
import { Calendar, momentLocalizer} from 'react-big-calendar'
import moment from 'moment';
import 'react-big-calendar/lib/css/react-big-calendar.css';
export default function TrainingCalendar() {
const localizer = momentLocalizer(moment);
const [trainings, setTrainings] = useState([]);
useEffect(() => {
getTrainings()
});
const getTrainings = () => {
fetch('https://customerrest.herokuapp.com/gettrainings')
.then(response => response.json())
.then(data => setTrainings(data))
.catch(err => console.error(err))
}
const events = trainings.map((training) =>
training =
{
allDay: 'false',
title: training.activity,
start: training.date,
end: training.date + moment().add(training.duration, 'minutes'),
resource: training.customer.firstname
}
);
console.log('events:', events);
return (
<Calendar
localizer={localizer}
events={events}
allDayAccessor='allDay'
titleAccessor='title'
resourceAccessor='resource'
startAccessor='start'
endAccessor='end'
views={['month', 'week', 'day']}
style={{height: 450}}
/>
)
}
我应该怎么做才能显示事件?
【问题讨论】:
标签: javascript reactjs