Devlog Final 20일차 정답 여부 최적화, Tutorial 내용 작성

shleecloud·2021년 12월 15일
0

Codestates

목록 보기
89/95

들어가며

오늘은 오전엔 버그를 잡고 오후엔 Tutorial 내용 작성을 진행했다. Tutorial 내용을 끝까지 작성하지는 않고 팀원분과 전체적인 구성과 진행을 정리했고 문제 구상까지 마쳤다. 이 이후에는 살을 붙여가면서 완성할 수 있게 만들었다. Task 기반으로 만드니 skip과 group capture 기능이 가능했다. 이 기능으로 문제의 다양성이 늘어났다.

정답 여부 최적화

될 수 있으면 불필요한 서버 요청을 줄이려고 구성했다. 만약 처음으로 문제를 해결한다면, Tutorial은 브라우저 로컬 스토리지에 Redux-persist를 통해 저장하고, 유저가 만든 Quiz 페이지는 서버에 전송한다. 한 번 더 문제를 해결할 경우 다시 보내지 않도록 구성했다.

Tutorial은 Redux 상태값을 참조했다.
유저 Quiz 여부는 서버에게 전달받은 isClear 변수의 값을 직접 수정하면서 구현했다.


  useEffect(() => {
    // 퀴즈에서 로그인한 회원이 처음 문제를 풀었을 경우 서버 요청
    if (orderPage === 'quizList' && isCorrectRegTotal && isLogin && !data.isClear) {
      data.isClear = true;
      requestQuizClear(data.id);
    }

    // 학습하기에서 문제를 풀었을 경우 상태 저장
    if (orderPage === 'tutorial' && isCorrectRegTotal && !tutorialClearList[data.id - 1]) dispatch(clearList(data.id - 1));
  }, [isCorrectRegTotal]);
profile
블로그 옮겼습니다. https://shlee.cloud

0개의 댓글