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

현창이님의 프로필 이미지

작성한 질문수

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

클라이언트 컴포넌트에서 Server Actions 사용하기

msw 서버가 작동 안되요

해결된 질문

24.02.01 17:35 작성

·

459

·

수정됨

0

window환경이고 회원가입을 하려고 해도 message가 넘어오지 않아 보니

위 메세지도 콘솔에 뜨지않았습니다. Mock server자체가 연결이 안되는 것 같은데 뭐가 문제인지 잘 모르겠습니다.

/mocks 폴더안에 파일들은 제로초님 깃헙에서 그대로 복붙하고 signup 관련 파일도 다 복붙했습니다.

/_lib/signup.ts 는 ts오류가나서 함수 이름만 넣었습니다.

"use server";

import { redirect } from "next/navigation";

const Submit = async (prevState: any, formData: FormData) => {
	if (!formData.get("id") || !(formData.get("id") as string)?.trim()) {
		return { message: "no_id" };
	}
	if (!formData.get("name") || !(formData.get("name") as string)?.trim()) {
		return { message: "no_name" };
	}
	if (
		!formData.get("password") ||
		!(formData.get("password") as string)?.trim()
	) {
		return { message: "no_password" };
	}
	if (!formData.get("image")) {
		return { message: "no_image" };
	}
	let shouldRedirect = false;
	try {
		const response = await fetch(
			`${process.env.NEXT_PUBLIC_BASE_URL}/api/users`,
			{
				method: "post",
				body: formData,
				credentials: "include",
			},
		);
		console.log(response.status);
		if (response.status === 403) {
			return { message: "user_exists" };
		}
		console.log(await response.json());
		shouldRedirect = true;
	} catch (err) {
		console.error(err);
		return;
	}

	if (shouldRedirect) {
		redirect("/home"); // try/catch문 안에서 X
	}
};

export default Submit;


아래는 제 package.json입니다.

.env.local


submit 눌렀을 때 네트워크

답변 2

0

현창이님의 프로필 이미지
현창이
질문자

2024. 02. 01. 18:46

npm run mock을 의미했습니다. 답변 감사합니다.

0

현창이님의 프로필 이미지
현창이
질문자

2024. 02. 01. 18:12

해결했습니다.
왜 scripts에 msw 가 없었는지 모르겠네요..
scripts에 msw를 추가하고 npm run mock을 하니 되네요 ㅜ

vscode를 열때마다 저 명령어를 하고 npm run dev를 해야하는 건가요??

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

2024. 02. 01. 18:17

저 명령어라는 게 뭔가요?

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

2024. 02. 01. 18:18

npm run mock으로 백엔드 서버를 켜고

npm run dev로 프론트 서버를 켜시면 됩니다.