토큰을 새로 받아 왔음에도 불구하고 토큰 만료로 400에러가 반복해서 발생
보통 에러코드가 401로 오면 만료된 토큰 사용을 의미하며, 400으로 올 경우 요청이 잘못되었을 때 발생한다는 점에 착안하여 코드를 다시 검토해 봄
[해결 및 원인]
useEffect(() => {
const Token = localStorage.getItem("accessToken") ?? ""
setAccessToken(Token);
}, []);
const uploadLink = createUploadLink({
uri: "http://backend-practice.codebootcamp.co.kr/graphql",
headers: { Authorization: `Bearer ${accessToken} ` },
});
여기서 localstorage.getitem
부분에 ?? 로 해당 값이 없을 때 ""이 값으로 들어가게 처리를 해 주어야 오류가 발생안함
기본적으로 localstorage 에 키, 값 아무것도 없을 경우 null
을 반환하는데 이것이 ${accessToken}
의 값으로 할당되면서 에러가 발생했던 것!
따라서 값이 아예 없는 경우 ""이 할당되도록 수정함으로써 오류 해결