[Next.js 개발] [React] useEffect에서 async/await

???? useEffect에서 async/await 사용하는 방법

  • useEffect 내에서 비동기 처리를 해주려고 async/await을 사용하려고 했는데 오류가 발생했다.
  • Effect callbacks are synchronous to prevent race conditions. Put the async function inside: ..

useEffect는 아무것도 반환하지 않거나 clean up 함수를 반환해야 한다.

 

 
 
useEffect(() => {
 
async function fetchData() {
 
const respons = await fetch("http://localhost:3333/topics/" + id);
 
const result = await respons.json();
 
console.log(result);
 
setTitle(result.title);
 
setBody(result.body);
 
}
 
fetchData();
 
}, []);
  • 따라서 useEffect 내에서 async/await를 사용하고 싶다면 함수로 만들어서 사용하면 된다.

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 
 
async function fetchData() {
 
const respons = await fetch("http://localhost:3333/topics/" + id);
 
const result = await respons.json();
 
console.log(result);
 
setTitle(result.title);
 
setBody(result.body);
 
}
 
 
 
useEffect(() => {
 
fetchData();
 
}, []);
  • 이렇게 함수 밖으로 빼고 useEffect 내에서 호출해도 된다.

 

[출처] https://lakelouise.tistory.com/308

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수

등록된 글이 없습니다.

대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED