inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

노드 리액트 기초 강의 #31 회원 가입 페이지

Failed to sign up 에러 (register에 대한 success가 계속 false)

432

ㅁㄹ

작성한 질문수 1

0

강의를 처음부터 지금까지 따라하고있는데, failed to sign up 에러가 납니다.

에러가 어떤 것인지 뭐때문에 success가 안되는지 모르겠습니다 ㅠ

 

아래는 RegisterPage.js 내 onSubmitHandler 코드입니다.

const onSubmitHandler = (event) => {
        event.preventDefault();

        if (password.length < 5) {
            return alert('비밀번호는 5자리 이상이어야 합니다.')
        }

        if (password !== confirmPassword) {
            return alert('비밀번호와 비밀번호 확인은 같아야 합니다.')
        }

        let body = {
            email: email,
            name: name,
            password: password
        }

        dispatch(registerUser(body))
            .then(response => {
                if (response.payload.success) {
                    navigate('/login');
                } else {
                    alert('Failed to sign up');
                    console.log(response)
                }
            })
    }

 

user_actions.js

import axios from 'axios';
import { LOGIN_USER, REGISTER_USER } from './types'

export function registerUser(dataToSubmit) {
    const request = axios.post('/api/users/register', dataToSubmit)
        .then(response => response.data)

    return {
        type: REGISTER_USER,
        payload: request
    }
}

 

user_reducer.js

import { LOGIN_USER, REGISTER_USER } from '../_actions/types';

export default function (state = {}, action) {
    switch (action.type) {
        case LOGIN_USER:
            return { ...state, loginSuccess: action.payload };
        case REGISTER_USER:
            return { ...state, register: action.payload };
        default:
            return state;
    }
}

 

혹시 몰라 server의 index.js 에서 register 부분도 첨부합니다.

app.post('/api/users/register', (req, res) => {
    const user = new User(req.body);
    user.save((err, userInfo) => {
        if (err) return res.json({ success: false, err })
        return res.status(200).json({
            success: true
        })
    })
})

 

이 전 강의까지는 오류 없이 잘 작동했습니다.

postman으로 register 날려보아도 success가 false입니다. 전에는 잘 됐습니다..

success는 false인데 백엔드쪽 터미널에는 또 입력한 회원 정보가 아래 그림처럼 잘 뜹니다.

뭐가 문제일까요?

 

+) 항상 집에서 하다가 오늘 밖에서 했는데 이것때문에 문제가 생긴걸까요? 이전 강의인 login도 어제 집에서 했을땐 잘 됐는데 지금 밖에서 해보니 얘도 안되네요. 만약 그렇다면 어떻게 해결할 수 있을까요?

 

react nodejs

답변 1

0

ㅁㄹ

해결했습니다. 밖에서 하니 ip 주소가 바뀌어서 mongoDB가 연결되지 않은 게 문제였습니다.

https://www.inflearn.com/questions/29435

참고한 해결법 사이트 첨부합니다 :)

깃 이메일이랑 비번이 필요하다고 하네요

0

59

1

404 에러

0

120

1

34강 인증 체크에서 element 사용 때문에 에러나시는 분들 이렇게 하심 됩니다.

0

140

1

로그인, 로그아웃, 토근 작동 안 함

0

260

0

9강 오류 어떻게 해결하나요?

0

199

1

localhost 에서 연결을 거부했습니다.

0

1982

4

포스트맨에서 true가 안떠요

0

158

1

왜 안되나요

0

133

1

몽고db 연결 오류가 납니다 위에껀 입력한 코드, 아래껀 터미널이에요

0

251

1

로그아웃 401 에러(Unauthorized)

0

520

2

암호가 해싱되지 않고 입력값 그대로 db에 저장되는 문제

0

161

1

7강중에서

0

178

2

User.findByToken is not a function

0

215

1

루트 디렉토리

0

286

1

useState

0

570

1

프록시 잘 설정했는데도 404 오류 뜨는 분들

5

909

6

webpack 관련 에러 질문

0

225

1

리액트 관련 질문

0

284

1

14강 로그아웃 안됨

0

325

1

mongoDB 데이터 확인하는 법

0

414

1

postman 에러

0

298

1

선생님 리덕스를 사용하면 어떠한 부분이 좋은지 알 수 있을까요?

0

240

1

다음과 같은 에러들이 발생합니다.

0

283

1

14강 로그아웃 기능 구현시 postman에서 Cannot POST 오류가 뜹니다.

0

389

1