๐ค ์์งlog ๐ค
[REACT] ์ด๋ฒคํธ ํธ๋ค๋ฌ ( Event handler ) ๋ณธ๋ฌธ
onChange, Click, KeyPress
import { useState } from 'react'
const EventPractice = () => {
const [message, setMessage] = useState('')
const handleClick = () => {
alert(message)
}
const handleKeyPress = (e) => {
if (e.key === 'Enter') {
alert(message)
}
}
return (
<div>
<h1>์ด๋ฒคํธ ์ฐ์ต</h1>
<input
type="text"
name="message"
placeholder="์๋ฌด๊ฑฐ๋ ์
๋ ฅํด ๋ณด์ธ์"
onChange={(e) => {
setMessage(e.target.value)
}}
onKeyPress={handleKeyPress}
/>
<button onClick={handleClick}>ํ์ธ</button>
</div>
)
}
export default EventPractice
import { useState } from 'react'
const EventPractice = () => {
const [username, setUsername] = useState('')
const [message, setMessage] = useState('')
const onChangeUssername = (e) => setUsername(e.target.value)
const onChangeMessage = (e) => setMessage(e.target.value)
const onClick = () => {
alert(username + ': ' + message)
setUsername('')
setMessage('')
}
const onKeyPress = (e) => {
if (e.key === 'Enter') {
alert(message)
}
}
return (
<div>
<h1>์ด๋ฒคํธ ์ฐ์ต</h1>
<input
type="text"
name="username"
placeholder="์ฌ์ฉ์๋ช
"
onChange={onChangeUssername}
value={username}
/>
<input
type="text"
name="message"
placeholder="์๋ฌด๊ฑฐ๋ ์
๋ ฅํด ๋ณด์ธ์"
value={message}
onChange={onChangeMessage}
onKeyPress={onKeyPress}
></input>
<button onClick={onClick}>ํ์ธ</button>
</div>
)
}
export default EventPractice
- input์ ์ฌ์ฉํด์ useState๋ฅผ ๊ด๋ฆฌํ ๋๋ ๋ฐ๋์ value๋ฅผ ์ฌ์ฉํด์ผํ๋ค.
- input ์ฌ์ฉ๋ ๋ง๋ค ๊ฐ๊ฐ์ input์ ๋ํ useState ์ onChangeํจ์๋ฅผ ์ ์ธํด์ค์ผ ํ๋ค.(ex. input์ด 10๊ฐ์์ผ๋ฉด useState๋ 10๊ฐ,onChangeํจ์๋ 10๊ฐ)
- ๐ ์ค์ด๋ ๋ฐฉ๋ฒ์ ๊ฐ์ฒด์ ๋ฃ์ด์ ๊ด๋ฆฌ ๐
form ์ผ๋ก ๊ด๋ฆฌํ ๋๋ input ํด์ผํ ๋ฐ์ดํฐ๊ฐ ๋ง์ผ๋ ๊ฐ์ฒด๋ก ๊ด๋ฆฌํด์ผํจ.
import { useState } from 'react'
const EventPractice = () => {
const [form, setForm] = useState({
username: '',
message: '',
})
const { username, message } = form // ๋น๊ตฌ์กฐํํ ๋น
const onChange = (e) => {
const newForm = {
...form,
[e.target.name]: e.target.value,
// [] ๋ฃ์ด์ค์ผ๋ก์ ๊ฐ์ฒด ์์ฑ๊ณผ ๋์์ ๋์ ์ธ key๊ฐ ์ค์
}
setForm(newForm)
}
const onClick = () => {
alert(username + ': ' + message)
}
const onKeyPress = (e) => {
if (e.key === 'Enter') {
alert(message)
}
}
return (
<div>
<h1>์ด๋ฒคํธ ์ฐ์ต</h1>
<input
type="text"
name="username"
placeholder="์ฌ์ฉ์๋ช
"
onChange={onChange}
value={username}
/>
<input
type="text"
name="message"
placeholder="์๋ฌด๊ฑฐ๋ ์
๋ ฅํด ๋ณด์ธ์"
value={message}
onChange={onChange}
onKeyPress={onKeyPress}
></input>
<button onClick={onClick}>ํ์ธ</button>
</div>
)
}
export default EventPractice
728x90
'๐ React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[REACT] Carousel๋ก ๋ฐฐ๋ ์ฌ๋ผ์ด๋ ๊ตฌํํ๊ธฐ (0) | 2023.02.06 |
---|---|
[REACT] Swiper ์ฌ์ฉํ์ฌ ํฐ์น์ฌ๋ผ์ด๋ ๊ตฌํํ๊ธฐ (1) | 2023.02.06 |
[REACT] ๋ฐ๋ณต ( Iteration ) (0) | 2022.10.07 |
[REACT] HOOK (0) | 2022.10.07 |
[REACT] SCSS (0) | 2022.10.06 |