• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

로그인 후 Error가 alert 되는 것은 계정의 문제인가요?

22.03.16 16:02 작성 조회수 241

0

 

DB에 있는 계정으로 로그인을 시도했는데 Error가 뜹니다.

react v.6을 사용하고 있어서 navigate로 코드 변경해서 props를 사용하지 않으면

function LoginPage()의 파라미터를 어떻게 설정해두어야 하는지도 궁금합니다

 
import React, { useState } from 'react'
import { useDispatch } from 'react-redux';
import { loginUser } from '../../../_actions/user_action';
import { useNavigate } from 'react-router-dom';

function LoginPage(props) {
    
    let navigate = useNavigate();


    //dispatch
    const dispatch = useDispatch();

    //state, 처음state = ""
    const [Email, setEmail] = useState("")
    const [Password, setPassword] = useState("")

    //event 발생할 때 state를 변경
    const onEmailHandler = (event) => {
        setEmail(event.currentTarget.value)
    }

    const onPasswordHandler = (event) => {
        setPassword(event.currentTarget.value)
    }

    //login 버튼 
    const onSubmitHandler = (event) => {
        //페이지 refresh 방지
        event.preventDefault();

        // console.log('Email', Email)
        // console.log('Password', Password)

        //보내줄 data
        let body = {
            email: Email,
            password: Password
        }

        //'loginUser'라는 action
        dispatch(loginUser(body))
            .then(response => {
                if(response.payload.loginSuccess) {
                    navigate('/'); //v.6
                    // props.history.push('/') //v.5
                } else {
                    alert('Error');
                }
            })

답변 1

답변을 작성해보세요.

0

안녕하세요 
에러 부분은 서버에서 로그를 확인해서 수정해주시면 될 것 같습니다. 

navigate 부분은 

import {useNavigate} from 'react-router-dom';

let navigate = useNavigate();  

navigate('/home')


을 이용해서 페이지를 이동해주시면 됩니다.
감사합니다.