728x90
Error: NEXT_REDIRECT
로그인에 성공하면 메인페이지로 이동하는 코드를 구현했는데 위와 같은 에러가 발생했다.
redirect에서 난 오류인 것 같았다.
const handleLogin = async () => {
...
else if (result.status === 'SUCCESS') {
alert('로그인에 성공했습니다.');
redirect('/dashboard');
}
}
검색 결과, next/navigation의 redirect를 클라이언트 컴포넌트에서 사용해서 난 에러였다.
redirect는 서버 컴포넌트에서만 사용이 가능하다,,
클라이언트 컴포넌트에서 페이지를 이동하고 싶다면, router를 사용해야 한다.
import { useRouter } from 'next/navigation'
const router = useRouter();
const handleLogin = async () => {
...
else if (result.status === 'SUCCESS') {
alert('로그인에 성공했습니다.');
router.push('/dashboard');
}
}
이렇게 router로 코드를 수정하니까 에러 없이 잘 실행됐다.
------------
next.js 업데이트하고나서 서버컴포넌트, 클라이언트컴포넌트 분리하는 게 너무 헷갈리고 어렵다ㅠㅠ
이제 사이드 프로젝트하면서 연습하고 있는데 앞으로 더 부지런히 해야할듯,,
회사에서 맨날 똑같은 것만 하다가 처음부터 세팅하고 시작하려니까 색다르다ㅋㅋㅋㅋ
진작 프로젝트 좀 따로 만들걸!
728x90
'Error' 카테고리의 다른 글
[Error] Next.js unable to verify the first certificate error (0) | 2024.03.18 |
---|---|
[Error] nextjs localStorage is not defined error (feat. window is undefined error) (0) | 2024.01.12 |