В вашем коде нет query
и isLoading
в состоянии. Я обновил их в приведенном ниже коде.
До console.log
до и после вызова API в вашем коде можно использовать функцию обратного вызова setState
s.
И я реорганизовал код, чтобы он выглядел чистый.
class App extends Component {
constructor() {
super();
this.state = {
movieList: [],
query: "",
isLoading: false
};
}
movieListSearchInitiated = value => {
this.setState(
{
query: value,
isLoading: true
},
() => {
// Use setStates callback function to log
console.log("Loading");
}
);
};
movieListSearchSuccess = movieList => {
this.setState(
{
movieList,
isLoading: false,
query: ""
},
() => {
// Use setStates callback function to log
console.log(this.state.movieList);
}
);
};
movieListApiCall = value => {
return axios({
url: `apicall${value}2`,
method: "GET",
responseType: "JSON"
});
};
handleSearch = value => {
this.movieListSearchInitiated(value);
this.movieListApiCall(value).then(movieList => {
this.movieListSearchSuccess(movieList);
});
};
}
Надеюсь, вы ошиблись при обработке запроса API.