inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

지금 바로 React 시작하기

React에서 이벤트 처리하기

React에서 이벤트 처리하기(추가퀴즈)

363

ddww66

작성한 질문수 4

0

교안 [참고할만한 자료]도 읽어보고 고민을 해보았는데
추가퀴즈에 대한 정답에 대한 방향성을 모르겠어요

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;

react redux

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 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로 변경하여 로그인 성공을 알려줍니다.

감사합니다. 더 궁금한 점이 있으면 언제든지 물어보세요!

사진 복사 붙여넣기 관련 질문

0

2

1

eslint.config.js 설정 질문입니다.

0

3

1

화면구성

0

16

2

<div id="banner">배너 이미지</div> 관련 질문

0

12

1

fatal: repository 'https://github.com/gymcoding/my-marketplace.git/' not found

0

19

2

live server, korean 을 검색해도 아무것도 나오지 않음

0

18

1

커서질문

0

28

1

강의자료

0

22

1

SUPABASE에서 AOI 선택여부

0

24

2

클로드 코드 터미널 사용시 git, git 허브 활용 법

0

24

1

mcp.json파일 생성 X

0

24

2

강의 내용이 정신이없네요 ;;

0

50

2

제 컴퓨터에서는 Claude's plan이 아래와 같이 나오는데 괜찮은 건가요?

0

34

2

강의에서 사용하는 prompt

0

30

2

window 11 환경 + git bash 터미널 statusline 반영이 안됩니다 ㅠ

0

33

2

강사님 질문있습니다.

0

22

1

프로젝트를 커밋할때 알려주세요

0

30

1

지금 바로 React 시작하기 heart 연습문제

0

457

1

Route 퀴즈를 풀어봤는데 한번 봐주실 수 있나요?!

0

388

1

구조 분해 전 후

0

267

0

3분 44초

0

226

0

비동기 통신에 있어서 질문남깁니다.(코드첨부)

0

466

2

정답안에 압축파일안에 컴포넌트 이름이 잘못 된 것 같습니다.

0

211

1

코드 한번만 봐주실수 있나요 ?

0

235

1