인프런 커뮤니티 질문&답변

bo9999님의 프로필 이미지
bo9999

작성한 질문수

Next + React Query로 SNS 서비스 만들기

useMutation 사용하기

msw patch

작성

·

147

0

안녕하세요 msw patch 관련해서 여쭤보고싶은게 있습니다!

제로초님 강의를 응용해서 프로젝트에 msw로 데이터들을 테스트 하고있습니다 handler에서 /users란 엔드포인트로 get요청후 데이터들을 받아온뒤 다시 수정이 필요해 patch handler를 생성했습니다.

mutation을 통해서 patch 요청은 성공한거같은데 기존의 get으로 받아온 user데이터들을 수정하고 싶다면 어떻게 할수있을지 여쭤보고싶습니다 !

 const mutation = useMutation({
    mutationFn: async (e: FormEvent) => {
      e.preventDefault();
      const updatedUser = {
        userId: product.userId,
        nickName: product.nickName,
        userFileUrl: product.userFileUrl,
        techStack: product.techStack,
        position: product.position,
        employmentStatus: product.employmentStatus,
        year: product.year,
        links: product.links,
        alarmStatus: product.alarmStatus,
        content: product.content,
        softSkill: product.softSkill,
      };
      fetch(`${process.env.NEXT_PUBLIC_BASE_URL}/users`, {
        method: "PATCH",
        body: JSON.stringify(updatedUser),
      });
    },
  });

 

import { bypass, http, HttpResponse } from "msw";
import { hotPeople, peoples, users } from "./peopleData";


export const handlers = [
  http.get("/peoples/hot/:tag", () => {
    return HttpResponse.json(hotPeople);
  }),
  http.get("/peoples", ({ request, params }) => {
    return HttpResponse.json(peoples);
  }),
  http.get("/users", () => {
    return HttpResponse.json(users);
  }),
  http.patch("/users", async ({ request }) => {
    return HttpResponse.text("success?");
  }),
];

export default handlers;

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

강의에서 setQueryData나 invalidateQuery 배우셨으면 둘 중에 하나로 수정하시면 됩니다!

bo9999님의 프로필 이미지
bo9999
질문자

아 넵 다시 보겠습니다 감사합니다 : - )

bo9999님의 프로필 이미지
bo9999

작성한 질문수

질문하기