[React] Routing 관련 useParams

cho yunsu·2021년 9월 14일
1

Q. 안녕하세요? 리액트 라우팅 관련 이어서 질문 드리려구요.. 죄송해요.. 일단 Link로 부터 state를 받아와서 새로고침했을 떄도 화면을 그대로 보여주려고 하는데요... useEffect에서 useParams id를 사용해 특정 데이터 하나를 다시 요청해서 받아온 다음에.. useLocation.state에 다시 할당을 했는데요... let {state} = useLocation(); 한 다음에 useEffect 안에서 state={} 이렇게 재할당을 했거든요... 그런데 여전히 새로고침을 하면 undefined 뜨는데 어떻게 처리를 해야할까요??

A. undefined 뜨는 까닭은 useEffect 안에서 비동기 함수 호출을 잘못 사용하셔서 그런 것 같아요.
"useEffect async" 로 구글링하시면 관련 내용이 많이 나옵니다.
그리고 useLocation에서 가져온 state에 보관하기보다는 useState를 사용하는 게 더 좋아보여요
React는 useState의 state와 setState 를 통해서 업데이트가 되고 UI에 반영되기 때문입니다.

profile
Growing Developer!!

0개의 댓글