
ํ ์คํธ ์ ๋ ฅ ๋ฟ ์๋๋ผ ์ฌ์ฉ์๊ฐ ๋ฌด์ธ๊ฐ๋ฅผ ์ ํํด์ผ ํ๋ ๋ชจ๋,
์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ์ ๋ฐ๊ธฐ ์ํด ์ฌ์ฉ
<form>
<label>
์ด๋ฆ:
<input type="text" name="name"/>
</label>
<button type="submit">์ ์ถ</button>
</form>
//์์ฒด์ ์ผ๋ก state๋ฅผ ๊ด๋ฆฌ, js๋ฅผ ํตํด ๊ฐ๊ฐ์ ๊ฐ์ ์ ๊ทผ์ด ์ด๋ ค์
๊ฐ์ด ๋ฆฌ์กํธ์ ํต์ ๋ฅผ ๋ฐ๋ input form element,
๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ state์์ ๊ด๋ฆฌ
function NameForm(props){
const [value, setValue] = useState('');
const handleChange = (event) => {
setValue(event.target.value);
}
//์๋กญ๊ฒ ๋ณ๊ฒฝ๋ ๊ฐ์ value๋ผ๋ ์ด๋ฆ์ state์ ์ ์ฅ
//1. event: ์ด๋ฒคํธ ๊ฐ์ฒด 2. event.target: ํ์ฌ ๋ฐ์ํ event์ target
//event.target.value: ํด๋น target์ value ์์ฑ (input element์ ๊ฐ)
const handleSubmit = (event) => {
aler('์
๋ ฅํ ์ด๋ฆ: ' +value);
event.preventDefault();
}
return(
<form onSubmit={handleSubmit}>
<label>
์ด๋ฆ:
<input type="text" value={value} onChange={handleChange}/>
</label>
<button type="submit">์ ์ถ</button>
</form>
)
}
//value์ ๋ค์ด ์๋ ๊ฐ=> react component state์์ ๊ฐ์ ๊ฐ์ ธ์ ๋ฃ์ด์ค
//onChange: ์
๋ ฅ ๊ฐ์ด ๋ณ๊ฒฝ๋์์ ๋ ํธ์ถ
// ์ฌ์ฉ์์ ์
๋ ฅ์ ์ง์ ์ ์ผ๋ก ์ ์ดํ ์ ์์!!!!
//ex) ๋ชจ๋ ์
๋ ฅ๊ฐ์ ๋๋ฌธ์๋ก ๋ณ๊ฒฝ
const handleChange = (event) => {
setValue(event.target.value.toUpperCase());