Error: Cannot read property 'replace' of undefined

OwlSuri·2022년 7월 1일
0

errorMemo

목록 보기
3/6

문제점

배포를 하고나서 로컬에서는 뜨지 않았던 에러가 떴는데,

replace 메소드를 썼나 찾아보았는데 없었다.

살펴보니
로그인을 하지 않았을때
유저 정보가 필요한 페이지에 들어가면 이 오류가 생겼다.

어쩐일인지 useAuth가 안먹히는 상황(로컬에서는 잘되는데..)

Cannot read property 'replace' of undefined: {"response":{"errors":[{"message":"Cannot read property 'replace' of undefined","locations":[{"line":3,"column":5}],"path":["restoreAccessToken"],"extensions":{"code":"INTERNAL_SERVER_ERROR","exception":{"stacktrace":["TypeError: Cannot read property 'replace' of undefined"," at RestoreAccessTokenService.createAccessToken (/codecamp_backend_api/dist/api/token/services/mutation/restoreAccessToken.service.js:29:57)"," at runMicrotasks ()"," at processTicksAndRejections (internal/process/task_queues.js:93:5)"]}}}],"data":null,"status":200,"headers":{"map":{"content-length":"538","content-type":"application/json; charset=utf-8"}}},"request":{"query":"\n mutation restoreAccessToken {\n restoreAccessToken {\n accessToken\n }\n }\n"}}

에러의 전문은 이렇다.
restoreAccessToken 쪽에 문제가 있다는 것 같다.

올바른 값을 변수에 담아 가져오지 못한 채 실행되었을때 이 에러가 뜬다고 한다.

해결과정

useAuth(권한분기)를 살펴보았다.
accessToken이 로그인 후 10분 후면 날라가고 refreshToken이 있어서, userInfo는 유지되는 점을 이용해서 userInfo로 권한분기점을 만들어두었다.

이것이 왜 문제인지 모르겠지만,
!accessToken && !userInfo 로 조건을 주었더니
에러가 해결되었다.

해결방법

그런데 왜 landing페이지에서는 같은오류가 계속되는걸까.. 거긴 아무것도 없는데ㅜㅜ

토큰쪽을 다시 살펴봐야겠다....

토큰쪽을 살펴보니, 최근에 바꾼 것이 있었다.

try ~ catch 문에 있는 error인데, console.log(error.message) 로 되어있던 것을 alert으로 바꾸었는데.... alert으로 뜨는 에러가 이거였다!!!

restoreToken은 처음엔 없기때문에 당연히 replace될 것이 없으니까 나오는 error....

이 error를 alert으로 나오지 않게 했더니 해결...😅

profile
기억이 안되면, 기록을 -

0개의 댓글