본문 바로가기

개발/프론트엔드

react - useEffect

react를 하다 보면 화면이 처음 보여질 때나 특정 값이 바뀔 때 실행했으면 하는 경우가 있습니다. 이런 경우 useEffect로 해결할 수 있습니다.

관리자 페이지가 있다고 해봅시다. 이 페이지가 처음 보여질 때 관리자가 맞는지 체크할 것입니다.

 

useEffect() 안에 함수를 넣어서 어떤 것을 실행할 지 정할 수 있습니다. 마지막에 []를 넣으면 처음 화면에 보여질 때만 실행합니다. 이 코드는 todo list의 일부입니다. api를 호출해서 해야할 일의 목록을 가져오고 있습니다.

 

그러면 이런 에러가 여러분을 반겨줍니다. 이것은 useEffect에서 async를 사용했을 때 나타나는 현상입니다. 이 경우 아래와 같은 꼼수를 쓸 수 있습니다.

 

만약 일의 목록이 갱신될 때 마다 일의 개수를 출력해주려면 아래와 같이 하면 됩니다. 처음 랜더링 될 때 + [] 안에 있는 값이 변경될 때 마다 호출해 줍니다.

 

처음 랜더링 될 때 + setWorks로 값이 할당될 때 2번 호출됩니다.

 

'개발 > 프론트엔드' 카테고리의 다른 글

react - path parameter  (0) 2024.10.22
react - useContext  (0) 2024.10.12
react - useState  (1) 2024.10.08
react - 소스 코드로 페이지 전환  (0) 2024.09.20
react - 페이지 전환  (0) 2024.09.13