Передача данных в React FullCalendar с помощью вызова API - PullRequest
1 голос
/ 25 сентября 2019

Я получаю некоторые данные с помощью вызова API, и данные выглядят так:

{
    "events": [
        {
            "id": 7, 
            "comments": "", 
            "origin": "Terrassa, Spain", 
            "destination": "Delft, Netherlands",
            "total_trucks": 0,
            "material_type": "0", 
            "scheduled_date": "2019-09-29T01:01:00", 
            "offered_price": 0, 
            "weight": 7979879, 
            "status": "Assigned",
            "posted_on": "2019-09-23T15:24:39.946644",
            "All_India": true,
            "Andhra_Pradesh": false,
            "Assam": false,
            "Bihar": false,
            ...
            "West_Bengal": false,
            "owner": 1,
            "truck_type": 2,
            "truck_name": 139
        }
{
            "id": 9, 
            "comments": "", 
            "origin": "Teyty, Spain", 
            "destination": "Derry, Netherlands",
            "total_trucks": 0,
            "material_type": "0", 
            "scheduled_date": "2019-09-29T01:01:00", 
            "offered_price": 0, 
            "weight": 7979879, 
            "status": "Assigned",
            "posted_on": "2019-09-23T15:24:39.946644",
            "All_India": true,
            "Andhra_Pradesh": false,
            "Assam": false,
            "Bihar": false,
            ...
            "West_Bengal": false,
            "owner": 1,
            "truck_type": 2,
            "truck_name": 139
        }
    ]

}

Из этих данных я хочу schedule_date в поле 'date' в моих событиях responseFullCalender, а также total_weight и total_trucks в заголовкете события.То, что я пробовал до сих пор, дает мне вывод Object object в событиях на экране календаря.Мой код для этого:

<FullCalendar defaultView="dayGridMonth" plugins={[ dayGridPlugin ]}
events={[{ title: this.state.calendarEvents, date: '2019-09-22'] />

И мой вызов API выглядит следующим образом:

 const calendarEvent = await getEventsData();
        this.setState({calendarEvents:calendarEvent});

        console.log(calendarEvent,
            "calendarEvents");

И мои состояния выглядят так:

this.state = {
            calendarEvents:[
                {totalTrucks:''},
                {totalWeight:''}]};}

Все яхочу, чтобы вызов API calendarEvent получал данные, и я хочу передать их в событиях в fullCalender

1 Ответ

1 голос
/ 25 сентября 2019

Можете ли вы использовать это:

setStateAsync(state) {
    return new Promise((resolve) => {
      this.setState(state, resolve)
    });

Чтобы установить ваше состояние асинхронно после того, как мы получим его из данных.

Здесь есть ссылка, где мы устанавливаем состояние асинхронно.

...