너모나도 상세한 피드백 감사드립니다 센세.
큰절 한번 올리고 시작하겠습니다.
주신 피드백에 답변에 질문이 있어서 글 남깁니다.
1. 현재 상태나 목표가 항상 UI로 보이게 하기
: localstorage에 특정 값을 저장하고 포켓몬을 포획하거나 밀매할 때 그 값을 1 증가시키는 방식으로 구현해보려고 하는데 어떻게 생각하시는지 궁금합니다.
그냥 서버에 현재 퀘스트 진행 상황을 기록해두는게 좀 더 나을가요?

2. 이상한 접근
: 최초 회원가입 했을때 나옹이 스크립트가 나오고 메인페이지 (/) 로 리다이렉트 되어야 하는데 스크립트 페이지 (/script) 로 이동하면서 발생한 문제같습니다.
사용자가 현재 진행도보다 상위에 있는 스크립트 마음대로 여는게 싫어서 조건에 맞지 않는 사용자는 잘못된 접근 페이지로 이동하게 만들었는데 거기서 문제가 생겼나봅니다.
테스트 할때는 발생한적 없는 문제라 좀 더 고민해보고 고쳐보려고 합니다.
3. 1세대 포켓몬 DB에 저장해놨다가 서버에서 보내주기.
: 포켓몬 API 가 특정 범위의 포켓몬 데이터를 호출 가능하기 때문에 1세대 포켓몬 전부 가져오는건 가능합니다. 다만 이런 방식이 로딩 시간이 너무 오래 걸려서
한번에 50마리씩 호출하고 더 필요하면 다시 데이터를 호출하는 방식을 택했습니다.
근데 이 방식도 데이터 캐시 전에 최초 호출하면 로딩 시간이 꽤 길어지더군요.
선생님이 말씀하신대로 서버에서 포켓몬 데이터를 보내주면 포켓몬 API를 호출하는 것 보다 로딩 시간에서 이점이 있는지 궁금합니다.
4. trip 하위폴더 URL 파라미터
:URL 파라미터의 하위폴더가 전부 서버 컴포넌트에 사용자 데이터를 불러오는 코드가 있어서 URL을 불러올때 사용하던 usePath 기능을 사용하지 못하게 되어서 그냥 페이지를 쪼개놨습니다.
근데 생각해보니까 그냥 props.params 써서 /trip/ + props.params[어쩌구] 에 맞는 컴포넌트를 조건부로 렌더링하면 해결될 문제더군요.
또 한 수 배웁니다. 대 사 과
수정한 페이지 코드입니다
https://github.com/pvvng/pokemon_game_with_nextjs/issues/6
5. 백엔드 예외처리
: 프로젝트 목표가 프론트 공부여서 백엔드에는 크게 비중을 두진 않고 코드를 짰습니다. 기회가 된다면 백엔드 쪽도 빡세게 꾸며보고 싶네요.