I have the following code in FC component:
I just want to call the Api and Log the info when the component is mounted
The console.log is being called twice for empty array and twice for setting the same values.
import * as React from"react";
import Header from"../components/Header";
import Search from"../components/Search";
import Categories from"../components/Categories";
import Carousel from"../components/Carousel";
import CarouselItem from"../components/CarouselItem";
import Footer from"../components/Footer";
import "../assets/styles/App.scss";
const App = () => {
const [videos, setVideos] = React.useState([]);
React.useEffect(() => {
fetch("http://localhost:3000/initalState")
.then((response) => response.json())
.then((data) => setVideos(data));
}, []);
console.log(videos);
return (
<div className="App">
<Header></Header>
<Search></Search>
<Categories title="Mi Lista">
<Carousel>
<CarouselItem />
<CarouselItem />
<CarouselItem />
<CarouselItem />
<CarouselItem />
</Carousel>
</Categories>
<Categories title="Tendencias">
<Carousel>
<CarouselItem />
<CarouselItem />
</Carousel>
</Categories>
<Categories title="Originales de Platzi Video">
<Carousel>
<CarouselItem />
</Carousel>
</Categories>
<Footer />
</div>
);
};
export default App;
However, i got the following output:
Calling within useEffect:
React.useEffect(() => {
fetch("http://localhost:3000/initalState")
.then((response) => response.json())
.then((data) => {
setVideos(data);
console.log(videos);
});
}, []);
returns an empty array.