React - useEffect에서 데이터 페칭

2020. 8. 30. 00:25React

반응형

 

 

useEffect에 직접 async를 주지말자!

 

 

수정 전!

 useEffect(async()=>{
    const Popularmovies = await axios.get(`https://api.themoviedb.org/3/movie/popular?api_key=${API_KEY}&language=en-US&page=1`);
    const top_rated = await axios.get(`https://api.themoviedb.org/3/movie/top_rated?api_key=${API_KEY}&language=en-US&page=1`);
    console.log(Popularmovies.data.results)
    const movies = Popularmovies.data.results
    const top= top_rated.data.results
   // setmovieInfo([...movieInfo,Popularmovies.data.results])
   setmovieInfo(movies)
   setToprate(top)
  },[])

 

useEffect는 cleanup function 외에는 아무것도 리턴하면 안 되는 것이 원칙인데, async 함수는 기본적으로 항상 promise를 리턴하기 때문이다.

 

수정 후!

 useEffect(()=>{
   get()
  },[])
  
 const get = async()=>{
  const Popularmovies = await axios.get(`https://api.themoviedb.org/3/movie/popular?api_key=${API_KEY}&language=en-US&page=1`);
  const top_rated = await axios.get(`https://api.themoviedb.org/3/movie/top_rated?api_key=${API_KEY}&language=en-US&page=1`);
  console.log(Popularmovies.data.results)
  const movies = Popularmovies.data.results
  const top= top_rated.data.results
 // setmovieInfo([...movieInfo,Popularmovies.data.results])
 setmovieInfo(movies)
 setToprate(top)
}

 

반응형

'React' 카테고리의 다른 글

React - img src 경로  (0) 2020.09.09
React - fetch cors 문제 해결  (0) 2020.09.06
React- session  (0) 2020.09.06
React - functional component에서 onclick  (0) 2020.09.06
React 의 동작 및 작성 방식 -1  (0) 2020.08.14