사용자가 퀴즈를 풀 때 어떤 선택지를 골랐는지 저장해 뒀다가 퀴즈가 끝난 후 채점을 해서 정답/오답인지 보여주어야 하는데 어떻게 해야 할까?

태그
퀴즈 풀기

 시도한 방법

DB에서 받아온 questions 데이터에 is_correct 프로퍼티를 추가하면 어떨까?
사용자가 답을 입력하면 답인지 아닌지 확인하고, 받아온 questions들을 map을 돌려 사용자가 푼 문제와 같은 question을 찾음
사용자의 답안과 정답을 비교해 정답 여부에 따라 is_correct에 true/false 값을 추가
사용자가 입력한 값은 알 수 없고 입력값이 정답인지 오답인지만 확인이 가능하다는 한계점
또한 효율성 측면으로는 문제를 풀 때마다 매번 map으로 해당 question을 찾아야 한다는 문제가 있음

 해결책

usersAnswers 상태를 만들어 사용자의 답을 받아 ‘제출하기’ 버튼 클릭 시 답안과 questions을 비교해 채점
사용자가 입력한 답을 받아놔서 정답/오답 여부에 따른 조건부 렌더링 가능
map을 돌릴 필요 없이 find로 해당 question을 찾아내기만 하면 됨