import { useState, useRef } from 'react'
export const InputSample = () => {
const [inputs, setInputs] = useState({
name: '',
nickName: '',
})
const nameInput = useRef()
const { name, nickName } = inputs // 비구조화 할당을 통해 값 추출
const onChange = (e) => {
const { value, name } = e.target // 우선 e.target에서 name과 value 추출
setInputs({
...inputs, // 기본의 input 객체를 복사한 뒤
[name]: value, // name 키를 가진 값을 value로 설정
})
}
const onReset = () => {
setInputs({
name: '',
nickName: '',
})
nameInput.current.focus()
}
return (
<div>
<input name="name" placeholder="이름" onChange={onChange} value={name} ref={nameInput} />
<input name="nickName" placeholder="닉네임" onChange={onChange} value={nickName} />
<button onClick={onReset}>초기화</button>
<div>
<b>값: </b>
{name} ({nickName})
</div>
</div>
)
}
해당 내용은 다음 자료를 참고했습니다.
https://react.vlpt.us/basic/10-useRef.html