Basic/React
React를 이용한 다중 input 상태 관리
가누
2021. 3. 19. 01:56
반응형
import React, { useState } from 'react'
const InputSample = () => {
const [inputs, setInputs] = useState({
name: '',
nickname: ''
});
const { name, nickname } = inputs;
const onChange = (e) => {
const {value, name} = e.target;
console.log("name :: " , name , " [name] :: " , [name], " value : ", value);
setInputs({
...inputs,
[name]: value
});
}
const onReset = () => {
setInputs({
name: '',
nickname: '',
})
};
return (
<>
<input name="name" placeholder="이름" onChange={onChange} value={name}/>
<input name="nickname" placeholder="닉네임" onChange={onChange} value={nickname}/>
<button onClick={onReset}>초기화</button>
<div>
<b>값: </b>
{name}({nickname})
</div>
</>
);
}
export default InputSample;
onChange1, onChange2를 만들어 name과 nickname 두개를 컨트롤 해도 되지만,
input에 name을 설정함으로써 하나의 onChange에서 모든 input의 value를 control할 수 있는 방법이다.
반응형