2 글 보임 - 1 에서 2 까지 (총 2 중에서)
-
글쓴이글
-
2023년 10월 12일 18:39 #100809
여한추참가자passport사용 중 자꾸 값이 전달 되지 않습니다.
이렇게 설정해주고
이렇게 하면 passport.use안에서 console.log가 왜 작동을 안하나요? 폼에 입력한 username이 콘솔로그 찍혀야하지 않나요?
참고로 react에서 form태그는 사용하지 않았고, name속성도 잘 지정해줬는데 왜 콘솔로그가 안찍힌지 모르겠습니다ㅜㅜ 다만 passport.authenticate의 콘솔로그는 작동하긴 합니다
혹시몰라 리액트 코드입니다
import React, { useState } from 'react'; import '../css/initial.css'; import '../css/common.css'; import '../css/login.css'; import axios from 'axios'; import { useNavigate } from 'react-router-dom';
const Login = () => { const navigate = useNavigate(); const [email, setEmail] = useState(''); const [pw, setPw] = useState(''); const [errorMessage, setErrorMessage] = useState('');
function check(email, pw) { const trimEmail = email.trim(); const trimPw = pw.trim();
if (!trimEmail.length) { return '이메일을 입력해주세요'; }
if (!trimPw.length) { return '비밀번호를 입력해주세요'; }
return false; }
function handleLogin() { const alertText = check(email, pw); // alertText가 있으면 에러메세지 출력 if (alertText) { setErrorMessage(alertText); } else { axios .post(`${process.env.REACT_APP_API_LOCALURL}/Login`, { email: email, pw: pw, }) .then((res) => { console.log('로그인 성공'); navigate('/home'); }) .catch((err) => { if (err.response.status == 401) { console.log('일치하는 회원정보가 없습니다.'); setErrorMessage('일치하는 회원정보가 없습니다.'); } }); } }
return ( <div className="container"> <div className="menu_title"> <h1>로그인</h1> </div> <div className="loginInput_container"> <div className="loginInput_id"> <input type="text" placeholder="이메일" onChange={(e) => { setEmail(e.target.value); }} name="username" ></input> </div> <div className="loginInput_pw"> <input type="password" placeholder="비밀번호" onChange={(e) => { setPw(e.target.value); }} onKeyDown={(e) => { if (e.key === 'Enter') { handleLogin(); } }} name="password" ></input> </div> <div className="errorMessage">{errorMessage}</div> <div className="loginButton_container"> <button className="loginButton" onClick={() => { handleLogin(); }} > 로그인 </button> </div> </div> </div> ); }; export default Login;
-
글쓴이글
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
- 답변은 로그인 후 가능합니다.