Ich versuche die FourSquare API zu verwenden, um Standortinformationen in meiner React App zurückzugeben. Um dies zu tun, verwende ich dieses nützliche Paket: https://www.npmjs.com/package/foursquarevenuesWie lege ich den richtigen Lexical Scope fest, wenn ich Promises in ES6 verwende/React
Dieses Paket verwendet Versprechungen, um den API-Aufruf zu machen. Mein Code ruft das Paket wie folgt auf. Der API-Aufruf funktioniert gut und ich kann die Antwort protokollieren - aber wenn ich versuche, den Status zu setzen, gibt dies this.setState ist keine Funktion. Ich bin sehr neu zu ES6 Arrow-Funktionen, aber ich habe versucht, den Versprechen Aufruf um die neue Syntax zu schreiben - wie ich dachte, dass die Verwendung von Arrow-Funktionen bindet automatisch den Kontext von diesem mit dem übergeordneten Bereich. Dies hat das Problem jedoch nicht gelöst. Was mache ich falsch? Jede Hilfe wird geschätzt!
foursquare.venues.getVenues(params)
.then(function(venues) {
const venueList = venues.response.venues
console.log(venueList);
this.setState({
venues: venueList // this returns this.setState is not a function
})
})
.catch(err => {
console.log(err);
});
'.then (Veranstaltungsorte => {... this.setState() ...})'? –
Danke - das habe ich irgendwie vermisst. Geschätzt – ElJefeJames