비회원 장바구니 구현 리뷰
노션에 비회원 장바구니 구현 리뷰 코드 그대로 복붙해서 실행하면 에러400에 화면이 안뜹니다!

답변 1
0
안녕하세요!
어떤 상황인지 정확한 파악이 어렵습니다.
코드와 네트워크의 response를 함께 올려주시면 감사하겠습니다.
감사합니다.😂
0
{"errors":[{"message":"Context creation failed: 토큰 만료","extensions":{"code":"UNAUTHENTICATED","exception":{"stacktrace":["AuthenticationError: Context creation failed: 토큰 만료"," at Object.getUserFromAccessToken (/codecamp_backend_api/dist/common/libraries/security.js:24:15)"," at Object.context (/codecamp_backend_api/dist/common/libraries/configApollo.js:7:35)"," at Object.<anonymous> (/codecamp_backend_api/node_modules/@nestjs/graphql/dist/utils/merge-defaults.util.js:17:39)"," at Generator.next (<anonymous>)"," at /codecamp_backend_api/node_modules/tslib/tslib.js:117:75"," at new Promise (<anonymous>)"," at Object.__awaiter (/codecamp_backend_api/node_modules/tslib/tslib.js:113:16)"," at ApolloServer.moduleOptions.context (/codecamp_backend_api/node_modules/@nestjs/graphql/dist/utils/merge-defaults.util.js:16:54)"," at ApolloServer.<anonymous> (/codecamp_backend_api/node_modules/apollo-server-core/dist/ApolloServer.js:666:38)"," at Generator.next (<anonymous>)"," at fulfilled (/codecamp_backend_api/node_modules/apollo-server-core/dist/ApolloServer.js:5:58)"," at runMicrotasks (<anonymous>)"," at processTicksAndRejections (internal/process/task_queues.js:93:5)"]}}}]}
import { useQuery, gql } from "@apollo/client";
import { MouseEvent } from "react";
import {
type IBoard,
type IQuery,
type IQueryFetchBoardsArgs,
} from "../../src/commons/types/generated/types";
const FETCH_BOARDS = gql`
query fetchBoards($page: Int) {
fetchBoards(page: $page) {
_id
writer
title
contents
}
}
`;
export default function StaticRoutedPage() {
const { data } = useQuery<Pick<IQuery, "fetchBoards">, IQueryFetchBoardsArgs>(
FETCH_BOARDS
);
const onClickBasket = (basket: IBoard) => () => {
console.log(basket);
// 1. 기존 장바구니 가져오기
const baskets: Array<Pick<IBoard, "contents" | "title" | "_id" | "writer">> =
JSON.parse(localStorage.getItem("baskets") ?? "[]");
// 2. 이미 담겼는지 확인하기
const temp = baskets.filter((el) => el._id === basket._id);
if (temp.length === 1) {
alert("이미 담으신 물품입니다!!!");
return;
}
// 3. 해당 장바구니에 담기
baskets.push(basket);
localStorage.setItem("baskets", JSON.stringify(baskets));
};
return (
<>
{data?.fetchBoards.map((el) => (
<div key={el._id}>
<span style={{ margin: "10px" }}>{el.writer}</span>
<span style={{ margin: "10px" }}>{el.title}</span>
<button onClick={onClickBasket(el)}>장바구니담기</button>
</div>
))}
</>
);
}
0
에러를 읽어보시면 토큰 만료라고 쓰여있네요!
브라우저의 어플리케이션에서 토큰을 삭제해주시고, 다시 로그인 해주세요!
그리고 실패한 요청을 다시 요청해보시길 바랍니다!
감사합니다.😁
fetchBoardsOfMine, fetchBoardsCountOfMine 에러 문의드립니다
0
41
1
댓글 기능 구현 중 질문드립니다.
0
68
1
쿠폰코드 발급
0
147
2
example 서버 플레이그라운드, API 접속 모두 안됩니다.
0
89
2
문의드립니다!! ㅠㅠ
0
107
2
graphql 백엔드 서버가 포폴용 빼곤 접속이 안됩니다.
0
80
2
_app.js 작성 이후로 에러가 발생하네요
0
96
2
학습자료
0
72
2
학습자료가 안열립니다.
0
51
2
플레이 그라운드 퀴즈 문제 질문이 있습니다.
0
61
0
기존강의 구매자, 업데이트 끝인가요?
0
111
3
업데이트 버전 수강
0
89
2
완벽한 프론트엔드
0
136
2
나만의 쇼핑몰 샘플 페이지 접속 확인부탁드립니다.
0
84
1
graphql 접속이 안됩니다.
0
101
2
const, let 사용 질문 드립니다.
0
72
2
싸이월드 만들기 1탄 피드백 부탁드립니다.
0
124
2
회원가입 과제 피드백 부탁드립니다.
0
81
2
styled.span / styled.input "CSS 자동완성"
0
47
1
쿠폰 발급 관련
0
167
2
서버 502 error
0
248
2
쿠폰 다시 부탁드려도 될가여?
0
140
2
a태그 패딩했을때 왜 크기가 줄어들지 않고 늘어나나요
0
185
2
2분 44초 질문
0
132
3





