2021.06.27 - [WEB/REACT] - [REACT] 클래스형 컴포넌트에서 state관리 - setState /네모를 하나 추가 하나빼기 화면 만들기
네모근처에 마우스 올리면 백그라운드 색상 바뀌게 하기
(1) ref설정
만들어서 연결해준다.
(2) 이벤트 함수 설정
이벤트의 타겟에다가 어떤 코드를 실행할지
(3) 이벤트 리스너 구독과 해제
DOM객체가 다 만들어지고 나서 이벤트 리스너 등록하고
DOM이 사라지면 해제하도록 함
App.js
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
32
33
34
35
36
37
|
import React from "react";
import Nemo from "./Nemo";
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
};
this.div = React.createRef();
}
hoverEvent = (e)=>{
e.target.style.background = "#eee";
}
// DOM이 다 만들어지고 나서 이벤트리스너 등록
componentDidMount() {
this.div.current.addEventListener("mouseover", this.hoverEvent);
}
// DOM이 없어지면 구독 해제
componentWillUnmount(){
this.div.current.removeEventListener("mouseover", this.hoverEvent);
}
render() {
return (
<div className="App" ref={this.div}>
<Nemo/>
</div>
);
}
}
export default App;
|
cs |
728x90
'WEB > REACT' 카테고리의 다른 글
[REACT] 라우팅/ 페이지 이동 (0) | 2021.06.27 |
---|---|
[REACT] 이미지 좌우 스와이프 퀴즈 페이지 만들기 (0) | 2021.06.27 |
[REACT] 버킷리스트에 input에 넣은 텍스트를 추가하기 (0) | 2021.06.27 |
[REACT] 함수형 컴포넌트에서 state관리 - useState() (0) | 2021.06.27 |
[REACT] 클래스형 컴포넌트에서 state관리 - setState /네모를 하나 추가 하나빼기 화면 만들기 (0) | 2021.06.27 |