I am trying to add spinner in react component. But it does not remove spinner after retrieving data from api. What am I doing wrong?
Here the code below
import React, { useState } from "react";
import Form from "../components/form";
import Movie from "../components/movie";
import Loader from "../components/loader";
const MoviePage: React.FC = () => {
const APP_ID = "***************";
const [query, setQuery] = useState([]);
let load: boolean = true;
const addQuery = (query: any) => {
const newQuery: any = query;
setQuery(newQuery);
console.log(newQuery);
};
const searchQuery = async (querys: string) => {
const response = await fetch(
`https://api.themoviedb.org/3/search/movie?api_key=${APP_ID}&query=${querys}`
);
const data = await response.json();
if (data) {
load = false;
}
addQuery(data.results);
//console.log(query);
};
return (
<React.Fragment>
<Form onSearch={searchQuery} />
{load ? <Loader /> : <Movie query={query} />}
</React.Fragment>
);
};
export default MoviePage;
Loader component
import React from "react";
const Loader = () => {
return (
<div className="preloader-wrapper big active loader">
<div className="spinner-layer spinner-blue-only">
<div className="circle-clipper left">
<div className="circle"></div>
</div>
<div className="gap-patch">
<div className="circle"></div>
</div>
<div className="circle-clipper right">
<div className="circle"></div>
</div>
</div>
</div>
);
};
export default Loader;