인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

ambacc244님의 프로필 이미지
ambacc244

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

CORS 문제 해결하기

signup 구현

해결된 질문

작성

·

180

2

 안녕하십니까 제로초님. 유저가 회원가입후  같은 컴퓨터로 다른 사람이 회원가입을 할때를 가정하여 테스트 해보았는데. 즉 회원가입이 성공한뒤 한번더 회원가입을 하는 경우. useEffect 를 사용하여 if(SighUpDone)이면 index페이지로 디렉팅이 되도록 되어있어 회원가입후에는 회원가입 페이지로 들어가지 못합니다. 이 문제를 해결하기 위해 생각한 방법으로는  새로운 Dispatch를 통해서 SignUpDone을 false로 만들거나 혹은 SignUpDone 말고 다른 SignUp이 가능한지 상태를 나타낼수있는 변수생성해 이용하면 구현이 가능할꺼 같기는 한데... Dispatch를 사용하지 않고 signup페이지에서만 이기능을 구현할수 있는 방법이 있나요? 

답변 3

3

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

로그아웃을 할 때 signUpDone을 false로 만드시면 될 것 같습니다.

0

  useEffect(() => {
    if (signUpDone) {
      Router.replace('/');
    }
  }, [signUpDone]);

회원가입 요청 후 사실 signUpDone은 계속 true로 있는데 signup page로 갈때마다 redirect되는 이유가 페이지 이동시에 signup 페이지가 렌더링되고 signUpDone depc와 무관하게 무조건 useEffect는 한 번은 실행되기 때문에 redirect 현상이 일어나는게 맞겠죠?

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

네 한 번은 실행됩니다

0

혹시 리다이렉션이 push 로 되어있으시면 replace로 해보세요!

ambacc244님의 프로필 이미지
ambacc244

작성한 질문수

질문하기