camperspot

전민석·2024년 1월 27일
0

TIL

목록 보기
50/52

supabase rpc 함수를 적용하여 원하는 데이터를 가져오는데 성공하였다.
하지만 최초 검색 후 재검색시 리렌더링이 일어나지 않고 새로고침을 해줘야 새로운 검색결과가 반영됐다.

원일을 찾기위해 데이터를 가져오는 서버컴포넌트부터 props를 내려주는 하위컴포넌트들을 따라 추적해 봤다.

현재 page(서버컴포넌트)->SearchView(클라이언트컴포넌트)->CampList(클라이언트컴포넌트) 순이다.

page에서 props를 내려받고 SearchView컴포넌트에서 useEffect를 통해 props data의 변화를 감지하고 SetCampData를 해줬지만 filteredCampData가 변하지 않아 filteredData를 props로 받으며 최종적 UI를 그려주는 CampList가 리렌더링 되지 않았다.

filteredData는 facility를 체크하면 campData에서 해당 facility가 있는 camp만 filter 해줄려고 만든건데 SetCampData 만으로 영향을 주지 못하는거 같다.

이후 useEffect안에서 setFilteredCampData에 새로운 data를 넣어주니 정상작동했다.

0개의 댓글