728x90
import { useState } from "react"
export default function App(){
/* *****수정된 부분***** */
const [inputs, setInputs] = useState({userid: "", passwd: ""}); //userid와 passwd 초기값은 공백(JSON)
function handleSubmit(event){ //페이지 이동 방지
event.preventDefault();
console.log(inputs);
console.log(inputs.userid);
console.log(inputs.passwd);
}
/* *****수정된 부분***** */
function handleChange(event){ //data의 값을 JSON에 저장
console.log(inputs); //가장 최신값 직전(배치 문제)
setInputs({...inputs, [event.target.name]:event.target.value}) //최신값 복제 + 업데이트된 부분 병합
//JSON과 form의 name을 동일하게 함으로써 userid: value || passwd: value의 효과
}
console.log("App: ", inputs.userid);
console.log("App: ", inputs.passwd);
return (
<div>
<h1>input 태그</h1>
<form onSubmit={handleSubmit} action = "target.html">
{/* *****수정된 부분(value={inputs.userid})***** */}
아이디:
<input type="text" name="userid" value={inputs.userid} onChange={handleChange}></input> {/* 바뀌면 userid에 저장 */}
{/* *****수정된 부분(비밀번호 추가)***** */}
비밀번호:
<input type="text" name="passwd" value={inputs.passwd} onChange={handleChange}></input> {/* 바뀌면 passwd에 저장 */}
<input type="submit" value="로그인"></input>
</form>
</div>
)
}
'단순 코드 기록 > React' 카테고리의 다른 글
React_자손 테이블 (0) | 2024.03.15 |
---|---|
React_GameBoard (0) | 2024.03.15 |
React_불변변수_JSON/Array (0) | 2024.03.14 |
React_버튼 이벤트에 따라 상태 변경 (0) | 2024.03.14 |
React_실시간 랜더링 (0) | 2024.03.14 |