Es ist meine erste Erfahrung mit React, Redux und ich bin total verloren. Das Problem ist meine Aktion:React, Redux und Axios - versuchen API Aufruf zu machen
import axios from 'axios';
import { FETCH_MOVIE } from '../constants/actionTypes';
const API_KEY = <API_KEY>;
const ROOT_URL = `<API_URL>`;
export function fetchMovies(pop){
const url = `${ROOT_URL}?api_key=${API_KEY}&sort_by=${pop}`;
axios.get(url)
.then(function (response) {
console.log("response is",response)
})
.catch(function (error) {
console.log(error);
});
return{
type: FETCH_MOVIE,
payload: response.data
};
}
Auf console.log es ganz gut scheint - ich kann sehen, die Antwort die Daten, die ich brauche. Aber wenn ich versuche, response.data an Payload zu senden, gibt es den Fehler zurück - Antwort ist nicht definiert. Was mache ich falsch?
Ps.s. Ich habe auch versucht, const result = [] und dann result = [... response.data] zu erstellen. Der Fehler war - SyntaxError: "result" ist schreibgeschützt.
Sie müssen wahrscheinlich Ihre Rückkehr Erklärung in der .then Teil verschieben – gianni
@ Gianni danke für die Antwort! Ich habe versucht, es zu verschieben, der Fehler war "Aktionen müssen einfache Objekte sein." – Polina
Ihre Funktion wird ausgeführt, bevor die Antwort zurückgegeben wird. Daher müssen Sie die Middleware gemäß @loelsonk answer verwenden. – gianni