<input>
에 입력된 값을 state 에 저장해주세요.
- ID
<input>
에서onChange
event 발생- event 발생 시
handleIdInput
함수 실행handleIdInput
는 이벤트를 인자로 받음- event가 일어난 요소에 담긴 value 값 (
event.target.value
)을 state에 저장- 위의 과정을 PW
<input>
에도 동일하게 적용
React Library
의useState
의 장점을 처음으로 활용하는 프로젝트였다.State
의 장점에 대해 더욱 돌아볼 수 있는 과정이었다.
import React from 'react';
import { Link } from 'react-router-dom';
import './Login.scss';
import { useNavigate } from 'react-router-dom';
import { useState } from 'react';
function Login() {
const navigate = useNavigate(); // 버튼을 통한 링크 이동을 위한 useNavigate()
const goToList = () => {
navigate("/list");
};
const [saveID, saveIDchange] = useState(''); // ID 입력을 위한 State
const [savePW, savePWchange] = useState(''); // PW 입력을 위한 State
return (
<section>
<h1>WeBucks</h1>
<div className="input">
<input type="text" placeholder="전화번호, 사용자 이름 또는 이메일" class="userid"
onChange={(e) => saveIDchange(e.target.value)} />
// input에 onChange event 발생시 => saveID에 해당 value 반환(State 속성 이용)
</div>
<div className="input">
<input type="password" placeholder="비밀번호" className="pw"
onChange={(e) => savePWchange(e.target.value)} />
// input에 onChange event 발생시 => savePW에 해당 value 반환(State 속성 이용)
<button className="hide">show&hide</button>
</div>
<div className="btn">
<button className="but" disabled={
saveID.includes('@') && savePW.length >= 5 ?
false : true
}
onClick={goToList}>로그인</button>
</div>
<div className="forget">
<Link to='Detail'>비밀번호를 잊으셨나요?</Link>
</div>
</section>
);
}
export default Login
🐳 느낀 점
논리적 접근은
HTML
과JavaScript
와 비슷하지만,React
를 활용한 프로젝트이기에 조금씩 다른 문법에 익숙해지는 과정이었다고 생각한다. state의 가벼운 활용법에 대해 생각해보는 단계였고, 그 기능을 어떨 때 쓰면 좋을지 좀 더 생각해볼 수 있었다. 기초가 단단해야 나중에 잘 버틸수 있다고 생각한다.Component
와State
에 대해 항상 진중하게 생각하자.