React에서 이벤트 처리하기(추가퀴즈)
362
4 asked
교안 [참고할만한 자료]도 읽어보고 고민을 해보았는데
추가퀴즈에 대한 정답에 대한 방향성을 모르겠어요
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;
Answer 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로 변경하여 로그인 성공을 알려줍니다.
감사합니다. 더 궁금한 점이 있으면 언제든지 물어보세요!
기본 브랜치의 이름이 master에요.
0
7
1
관리자 페이지 질문
0
6
1
plans 생성이 안됩니다.
0
9
2
더빙에 어떤 ai가 쓰였는지 궁금합니다.
0
11
0
보안 적용에 대한 강의가 있을까요?
0
5
1
Auto-memory 기능
0
14
1
64강 context 7 관련 질문
0
13
1
Auto-memory 기능
0
13
0
55강 7분56초
0
11
0
55강 git 초기화 관련 질문이요
0
11
1
클로드 코드에 붙여넣기후 편집 관련 질문입니다!
0
17
1
존재하지 않는 일기 url입력 시 alert이 두 번 떠요
0
19
1
윈 터미널의 클로드와 에디터의 터미널의 클로드에 관한 질문
0
13
1
output-styles 명령어 없어 지지 않았나요?
0
19
1
[MISSION 7] 프로필 웹 Github 링크 제출하기 관련..
0
25
0
커서 클로드 코드 검색창 검색 시
0
17
1
/init 초기화 이유
0
27
1
지금 바로 React 시작하기 heart 연습문제
0
455
1
Route 퀴즈를 풀어봤는데 한번 봐주실 수 있나요?!
0
387
1
구조 분해 전 후
0
267
0
3분 44초
0
224
0
비동기 통신에 있어서 질문남깁니다.(코드첨부)
0
465
2
정답안에 압축파일안에 컴포넌트 이름이 잘못 된 것 같습니다.
0
211
1
코드 한번만 봐주실수 있나요 ?
0
231
1

