반응형
이벤트 핸들링
- 웹 브라우저에서 DOM 요소들과 상호 작용하는 것
- 이벤트 이름은 카멜 표기법으로 작성
- 이벤트 설정 시 함수 형태의 값을 전달
- DOM 요소에만 이벤트 설정 가능 (직접 만든 컴포넌트에 이벤트 설정 불가)
- Clipboard, Focus, Mouse, Form 등
OnChange 이벤트
// Event.js
import React, { Component } from 'react'
class Event extends Component{
render(){
return (
<div>
<h1>이벤트 </h1>
<input type = "text"
name = "message"
onChange={
(event) => {console.log(event)}
}
></input>
</div>
)
}
}
export default Event
//App.js
import React from 'react'
import Event from './Event'
const App = () => {
return <Event />
}
export default App
State에 입력 값 담기
import React, { Component } from 'react'
class Event extends Component{
state = {
message: ''
}
render(){
return (
<div>
<h1>이벤트 </h1>
<input type = "text"
name = "message"
value = {this.state.message}
onChange={
(event) => {this.setState({
message: event.target.value
})
}
}
></input>
</div>
)
}
}
export default Event
버튼으로 입력값 확인
import React, { Component } from 'react'
class Event extends Component{
state = {
message: ''
}
render(){
return (
<div>
<h1>이벤트 </h1>
<input type = "text"
name = "message"
value = {this.state.message}
onChange={
(event) => {this.setState({
message: event.target.value
})
}
}
></input>
<button onClick={() => {
console.log(this.state.message)
this.setState({
message: ''
})
}
}>체크</button>
</div>
)
}
}
export default Event
임의 메서드 만들기
import React, { Component } from 'react'
class Event extends Component{
state = {
message: ''
}
constructor(props){
super(props)
this.handleChange = this.handleChange.bind(this)
this.handleClick = this.handleClick.bind(this)
}
handleChange(event){
this.setState({
message: event.target.value
})
}
handleClick(){
console.log(this.state.message)
this.setState({
message: ''
})
}
render(){
return (
<div>
<h1>이벤트 </h1>
<input type = "text"
name = "message"
value = {this.state.message}
onChange={
(event) => {this.setState({
message: event.target.value
})
}
}
></input>
<button onClick={() => {
console.log(this.state.message)
this.setState({
message: ''
})
}
}>체크</button>
</div>
)
}
}
export default Event
input 여러 개 받아 출력
import React, { Component } from 'react'
class Event extends Component{
state = {
username: '',
message: ''
}
handleChange = (event) => {
this.setState({
[event.target.name]: event.target.value
})
}
handleClick = () =>{
console.log(this.state.username + ':' + this.state.message)
this.setState({
username: '',
message: ''
})
}
render(){
return (
<div>
<h1>이벤트 </h1>
<input type = "text"
name = "username"
value = {this.state.username}
onChange = {this.handleChange}
/>
<input type = "text"
name = "message"
value = {this.state.message}
onChange = {this.handleChange}
/>
<button onClick={this.handleClick}>확인</button>
</div>
)
}
}
export default Event
반응형
'개발 > React' 카테고리의 다른 글
[React/TypeScript] Context API를 활용한 전역 모달 관리하기 (1) | 2023.11.21 |
---|---|
[React/axios] Post 메서드 사용 시 500에러 발생 해결 방법 (0) | 2023.08.22 |
[React / Typescript] Openvidu를 활용한 WebRTC 구현 (0) | 2023.08.18 |
[React] 컴포넌트 & props 정리 및 생성하기 (0) | 2023.07.07 |
[React] JSX 개념, 문법 정리 (0) | 2023.07.07 |
댓글