TIL 23.11.15

전민석·2023년 11월 15일
1

TIL

목록 보기
29/52

리액트 숙련주차 개인과제

상세페이지로 state 가져오기

과제 진행중 상세페이지에서 코멘트를 수정하고 삭제하는 기능을 구현하기 위해 펜레터들이 들어있는 state인 fanletters와 setFanletters를 상세페이지로 가져올 필요가 있었다.

문제의 발생

처음 시도는 home부터 props를 내려주고 useNavigate를 사용하는 컴포넌트에서 앞서 데이터를 넘겨줬던 방식처럼 stat에 담아서 보내주려 했다.
하지만 fanletters는 잘 넘어가는 반면 setFanletters는 undefined가 나왔다.

원인

튜터님께 여쭤보니 useNavigate가 state에 담아서 보내주는게 History.state을 사용하는 것이라 하셨다.
근데 History.state를 사용 할 경우 함수는 보낼 수 없다고 하셨다.

해결방안

나에게 필요한 부분은 상세페이지에 state를 가져오는 것이다.
이는 결국 home과 상세페이지의 부모 컴포넌트에 state를 선언하면 됐다.
너무 어렵게 생각을 했던 것 같다.

지금 내가 적는 코드에 매몰되지 말고 한 발짝 물러서서 코드를 바라보면 길이 보일 때도 있는 것 같다.

0개의 댓글