20211118-TIL

노강표 Noh Gang Pyo ·2021년 11월 18일
0

최종프로젝트 23일차

문제1.

검색후 해당하는 게시물을 불러온상태에서 원하는 게시물의 상세페이지에 들어가 좋아요를눌렀을시 상세페이지내에서는 반영이되어있으나, 뒤로가기후에 목록에서봤을땐 반영이 안되있는현상.

문제원인

목록을 보여주는 페이지에서 해당 게시물의 변화를 반영해주고있지않음.

해결방법

  • 목록을보여주는 페이지에왔을때 useEffect훅을 이용하여 마운트될떄마다 서버요청을 보냄.
    -> 문제 : 처음 검색페이지에 들어올떈 당연히 어떠한 목록도 없어야하는데 불필요한 서버요청을 보내게됨.

  • 상세페이지에서 만약 좋아요를 눌렀다고하면 그 좋아요 버튼에 목록페이지에서 보여주는 해당게시물에 접근하여 값을 직접 변경시켜줌.
    -> 문제 : 추가적인 액션을 만들어야하고, 공용으로 쓰고있는 컴포넌트를 바꾸기엔 너무 개별적이다.

해결

useEffect를사용하되, 조건을걸어 최초에 검색페이지에 들어왔을땐 안불러오고 이후에 검색후 다른페이지로 넘어갔다가 다시돌아올떄만 불러오게만들어줌.
(현재 불러온 게시물이 있다면 불러오고, 없다면 안불러옴) 검색페이지자체가 분기처리하는 부분이많아 useEffect로불러올떄 해당하는 경우의수를 작성하자니 코드의 양이 상당하다.. 우선은 동작을목표로..

문제2.

최근검색어기능을 구현하는데 이는 탭을닫고 이후에 사이트를이용했을시에도 남아있으면 좋을것같다라고 판단하여 localStorage에서 redux-persist를 이용하여 관리하기로했음.
근데문제는 검색어를 배열로 관리를하고있는데 아무런 검색을 하지않아도 어떠한 이유인지는 모르겠는데 새로고침을 했을시
\"\" 라는 의문의 값이 배열의 요소로 들어가있음. 그래서 최근 검색어를 화면에 보여줄떄 값은 공백인데 삭제버튼만 활성화되어있는 박스가 생김.

문제원인

아직 찾고있는중..

해결방법

  • &&연산자를통해 검색어가없으면 삭제아이콘을 안보여주게만듦.
profile
FE developer 🙂

0개의 댓글