React에서 이벤트 처리하기(추가퀴즈)
396
작성한 질문수 4
교안 [참고할만한 자료]도 읽어보고 고민을 해보았는데
추가퀴즈에 대한 정답에 대한 방향성을 모르겠어요
import { useState } from "react";
function App() {
return <div>{user.login ? <HomePage /> : <Login />}</div>;
}
function HomePage() {
return (
<div>
<h1>Welcome {user.nickname}</h1>
<button>로그아웃</button>
</div>
);
}
let user = {
login: false,
id: "dw",
pw: "1234",
nickname: "june",
};
function Login() {
const [id, setId] = useState("");
const [pw, setPw] = useState("");
const handleLoginSubmit = (e) => {
e.preventDefault();
if (id === "") {
alert("아이디를 입력하지 않았습니다.");
} else if (pw === "") {
alert("패스워드를 입력하지 않았습니다.");
} else {
if (id === user.id && pw === user.pw) {
alert("로그인 성공");
user.login = true;
} else {
alert("잘못된 정보");
}
}
console.log(user.login);
};
const handleLoginInput = (e) => {
setId(e.target.value);
};
const handlePasswordInput = (e) => {
setPw(e.target.value);
};
return (
<form onSubmit={handleLoginSubmit}>
<label>
아이디 : <input type="text" onChange={handleLoginInput} />
</label>
<br />
<label>
비밀번호 :
<input type="password" onChange={handlePasswordInput} />
</label>
<button type="submit">로그인</button>
</form>
);
}
export default App;
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
React에서 이벤트 처리에 대한 질문이시군요.
위 코드에서는 useState를 사용하여 id와 pw를 저장하고, 로그인 버튼을 누르면 입력한 id와 pw와 user 객체에 저장된 id와 pw를 비교하여 로그인 여부를 판단하는 기능을 구현하고 있습니다.
handleLoginSubmit 함수는 form 태그에서 onSubmit 이벤트가 발생했을 때 호출되는 함수입니다. 이 함수에서는 입력된 id와 pw 값이 비어있는지 확인한 후, user 객체에 저장된 id와 pw와 일치하는지 비교하고 로그인 여부를 판단합니다.
handleLoginInput 함수는 input 태그의 onChange 이벤트가 발생했을 때 호출되는 함수로, 입력된 값을 setId 함수를 사용하여 id 상태값에 저장합니다.
handlePasswordInput 함수는 비밀번호 input 태그의 onChange 이벤트가 발생했을 때 호출되는 함수로, 입력된 값을 setPw 함수를 사용하여 pw 상태값에 저장합니다.
만약 id나 pw가 빈 값이라면 alert으로 오류 메시지를 보여주고, 일치하는 정보가 있으면 user 객체의 login 속성을 true로 변경하여 로그인 성공을 알려줍니다.
감사합니다. 더 궁금한 점이 있으면 언제든지 물어보세요!
터미널에서 커서 AI 직접 실행
0
12
2
해결했습니다
0
15
1
이런 경우는 어떤 조치를 취해야할까요?
0
17
2
hooks 설정이 안되요
0
24
2
영상 최신으로 엡데이트 요청
0
59
2
소스 코드가 회사 보안 프로그램에 막혀서 안 보여요.
0
48
2
claude code 상태표시줄 궁금합니다!
0
43
2
수파베이스 데모 버전
0
36
1
10월 15일 삭제예정 강의 문의
0
37
1
설치의 필요성
0
67
2
modal-root질문드립니다.
0
58
2
모달 여러개 질문드립니다
0
50
2
지금 강의가 어려우신분 추천드립니다.
0
47
1
기존의 완성된 CRUD의 Build.gradle에 security관련 dependency를 추가하면 문제가 생깁니다.
0
60
2
시작하기전에 질문 드립니다.
0
64
2
tsconfig.app.json 파일 설정(경로 별칭 옵션) 관련 질문입니다.
0
64
2
output style이 안나와요
0
53
2
지금 바로 React 시작하기 heart 연습문제
0
491
1
Route 퀴즈를 풀어봤는데 한번 봐주실 수 있나요?!
0
423
1
구조 분해 전 후
0
294
0
3분 44초
0
240
0
비동기 통신에 있어서 질문남깁니다.(코드첨부)
0
505
2
정답안에 압축파일안에 컴포넌트 이름이 잘못 된 것 같습니다.
0
241
1
코드 한번만 봐주실수 있나요 ?
0
275
1





