Bibliothek holen: https://github.com/airbnb/react-datesairbnb/reagieren-Daten eingestellt blockiert Tage nach api
Frage: Ist möglich blockiert Tage nach vom Server holen zu setzen? (warte/rufe isDayBlocked zurück oder initialisiere den Kalender neu)
Problem: Callback 'isDayBlocked' wird aufgerufen, nachdem der Kalender den nächsten Monat anzeigt, wenn die Daten noch nicht fertig sind.
Beispielcode:
import { DayPickerSingleDateController } from 'react-dates';
class DayPicker {
isDayBlocked(day) {
return this.days.has(day);
}
handleMonthChange() {
// async api fetch
this.days = getNextMonthBlockedDays();
}
render() {
<DayPickerSingleDateController
{...someProps}
isOutsideRange={this.isOutsideRange}
onNextMonthClick={this.handleMonthChange}
/>
}
}
Was ich versucht:
mount/unmount Kalender je nach Ladestütze (Problem - Animation zum nächsten Monat vor nextMount Rückruf + als Kalender verschwinden sieht schlecht aus)
laden, um nextMonth Daten zu speichern, also wenn ich Sicht auf nextMonth ändere ‚IsDayBlocked‘ funktioniert gut und holen Daten für nextmonth (Problem - Doppelklick auf Änderung oder nextmonth langsame Verbindung)
Irgendwelche Ideen bitte?
Wir würden mehr Code benötigen, bevor wir herausfinden, was falsch ist. Zum Beispiel wann wird 'isDayBlocked' aufgerufen? –
Es wird bei der Komponentenmontage und bei der Monatsansichtsänderung aufgerufen. Klicken Sie auf nextMonth -> 'isDayBlocked' genannt (das ist ein Problem, weil ich alte Daten habe) ->' GET_DAYS_START' -> 'GET_DAYS_SUCCESS' -> jetzt Daten OK, aber ich bin nicht in der Lage, blockierte Tage zu überprüfen –