반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Level3
- CS
- Doitvue.js입문
- python
- 프로그래밍
- dp
- web
- 프로그래머스
- 동적계획법
- 카카오
- 자바스크립트
- 파이썬
- typescript
- Medium
- 고득점Kit
- C++
- 리트코드
- 코테연습
- OS
- 웹프로그래밍
- Level1
- Level2
- react
- 리액트
- sql
- javascript
- 배열
- LeetCode
- 백준
- VUE
Archives
- Today
- Total
[react] event handling & lifecycle ① - event 본문
반응형
event?
- 웹 상에서의 모든 행위
- React에서 이벤트를 나타내는 prop에는 on[Event]
- 이벤트를 처리하는 함수에는 handle[Event]\
이벤트를 만드는 3단계
- state 만들기
- Handling 함수 만들기
- 이벤트가 발생하는 HTML 태그에서 on[Event]를 통해 handling 함수를 부른다.
event를 활용해 stop 버튼 만들기
// 1단계 class WorldClock extends React.Component{ constructor(props){ super(props) this.state = { hour: this.props.time, minute : 0, stop: false, } //this.setState this.timer = setInterval(()=>{ this.setState((state)=>( state.minute === 59? {hour: state.hour +1, minute : 0} : {minute:state.minute + 1} )) },100) } //2단계 handlingClick = (event) =>{ console.log(event.target) this.setState({stop:event.target.value}) // 이벤트가 발생한 범위 값을 받음 clearInterval(this.timer) //interval 종료하는 함수 (코드 생략) // 3단계 return( <div className= "WorldClock"> <h2>🌎도시 : {this.props.city}</h2> <p>⌚시간 : {this.state.hour} 시 {this.state.minute} 분 </p> <button value={true} onClick={this.handlingClick}>멈춰!</button> </div> ) }
textarea 변경을 감지하는 event 만들기
우선 function 컴포넌트였던 App을 class 컴포넌트로 변경하고 render 함수에 textarea element를 추가하였음
이후에 state > handling function > dom에서 handling function callclass App extends React.Component { constructor(props){ (내용 생략) //1단계 this.state = { content: '' } } //2단계 handlingChange = (e) =>{ this.setState({content: e.target.value}) } render(){ return ( (내용 생략) // 3단계 <textarea value={this.state.content} onChange={this.handlingChange} ></textarea> (내용 생략)
크롬 확장 프로그램 react developer를 통해 개발자 도구(F12) 에서 컴포넌트와 state 등을 확인할 수 있음
반응형
'Web > React' 카테고리의 다른 글
[react] event handling & lifecycle ③ - hook과 정리 (0) | 2020.04.13 |
---|---|
[react] event handling & lifecycle ② - lifecycle (0) | 2020.04.13 |
[react] Props&State ③ - State (동적 타이머 만들기) (0) | 2020.04.12 |
[react] Props&State ② - List&Key (0) | 2020.04.12 |
[react] Props&State ① - Props (0) | 2020.04.12 |
Comments