

회원탈퇴 기능을 진행하던 중 위의 에러를 만났습니다.
스텍오버플로우를 찾아보니, redirect("/login")을 "use server"로 표시된 서버 사이드 함수에서 사용하고 있기 때문에 문제가 발생하는 것이라고 합니다.
또한 redirect()는 클라이언트 사이드에서 실행할 수 없고,
서버 사이드에서만 작동하는 메서드이며, 서버 사이드 액션에서 이를 호출하려고 하면 NEXT_REDIRECT 가 뜨게 되는 것이라고 합니다.
그러므로 클라이언트에서 리디렉션 처리를 해주면 됩니다.
import { useRouter } from "next/navigation"; 를 사용해서 router.push("/"); 해주면 정상 작동합니다.
const DeleteAccountButton = () => {
const { openModal, closeModal } = useModalStore();
const updateUser = useUserStore((state) => state.updateUser);
const router = useRouter(); // useRouter 훅 사용하여 리디렉션 처리
const handleDelete = async () => {
try {
await deleteAccount();
toast.success("회원탈퇴 되었습니다.");
updateUser(null); // 유저 상태를 null로 설정
closeModal(); // 모달 닫기
router.push("/");
} catch (error) {
console.error(error);
toast.error("회원탈퇴에 실패했습니다.");
}
};
https://stackoverflow.com/questions/76191324/next-13-4-error-next-redirect-in-api-routes