프론트엔드✏️/코드캠프

220611 프론트엔드 부트캠프 32일차 : 주말,

당근먹는하니 2022. 6. 12. 00:54
728x90
반응형

 

 어제 쓰던게 날아가서 허무하다... 그때그때 오류 잡은 거랑 그런 것도 다 메모해놨었는데 ㅠ ㅠ 대체 어디간거야?!

정말 예민함이 극에 달한 것 같다. 별거아닌 일에도 슬프고 서럽넹 헐 아니네 저장되어있네?! 갑자기 기분이 좋아졌다 ㅎ ㅎ ㅎ

 

  
 const mbti = newScore.reduce(
        (acc, cur) =>
          acc +
          (cur.score >= 2 ? cur.id.substring(0, 1) : cur.id.substring(1, 2)),
        ""
      );
      console.log(mbti);
     navigate({
     	pathname: "/result",
        search: `?${createSearchParams({
        	mbti: mbti,
        })}`
     });
 
 
 
 const mbti = newScore.reduce(
        (acc, cur) =>
          acc +
          (cur.score >= 2 ? cur.id.substring(0, 1) : cur.id.substring(1, 2)),
        ""
      );
      console.log(mbti);
      router.push(`/test/result/${mbti}`);

강의에서는 navigate를 이용하는 방식으로 하셨고, 나는 router 이용해서 했어서 밑에처럼 해줬다. 

새로운 라이브러리를 써보는 것도 나쁘진 않았을 것 같은데, 복습 돼서 좋았다! 

 

navigate를 쓰는 방식에선 searchParams 을 이용해서 `mbti`를 가져온다. 

 

그리고 결과정보들에서 정보를 가져오는 법,

useEffect를 통해서 의존성 배열 안에 mbti를 넣고, find() 함수를 이용해서 resultData에 결과 정보들을 넣어준다.

 

// router이용해서 결과 정보 가져오기
const router = useRouter();

  const mbti = router?.query.mbti;
  const [resultData, setResultData] = useState({});
  useEffect(() => {
    const result = ResultData.find((s) => s.best === mbti);
    setResultData(result);
  }, [mbti]);

boardDetail때 어떻게 했는지 생각해보니까 할 수 있어서 뿌듯했다...! navigate랑 차이점이 뭔지도 알아보면 좋을 것 같당...(까먹을 것 같지만) 

 

 

728x90
반응형