일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- react
- 대표님물리기없기
- 냥빨이다가온다
- 2020
- 리엑트할수있는퍼블리셔라규
- 를
- 접근성
- 퍼블리싱
- resize
- classList
- 방심은금물
- classList toggle
- 언젠간가겠지
- ROUTER 버전6
- chart responsive
- 클래스 토글
- 간식금지다!
- classList add
- 포트폴리오
- 내배위의고양이
- chart.js
- react-router
- 커스텀훅
- className
- 안짤렸다
- windowwidth
- react-router-dom
- classList remove
Archives
- Today
- Total
틈
[REACT] useEffect 사용하기 본문
import React, { useEffect } from 'react';
function User({ user,onRemove, onToggle }) {
const {username,email,id, active} = user;
useEffect(() => {
console.log('컴포넌트가 화면에 나타남');
return () => {
console.log('컴포넌트가 화면에서 사라짐');
}
}, []);
return (
<div>
<b style={{
color: active ? 'green' : 'black',
cursor: 'pointer',
}}
onClick={() => onToggle(id)}
>{username}</b>
<span>{ email }</span>
<button onClick={() => onRemove(id)}>삭제</button>
</div>
)
}
mount될 때, unmount 될 때, 어떤 효과를 넣고 싶을 때에 사용한다.
useEffect에서 콜백은 mount될 때의 상태에 발생하는 이벤트를 처리하고,
useEffect에서 return 으로 반환하는 함수는 clear함수라고 하여 unmount 될 때의 상태에서 발생하는 이벤트를 처리한다.
import React, { useEffect } from 'react';
function User({ user,onRemove, onToggle }) {
const {username,email,id, active} = user;
useEffect(() => {
console.log('user 값이 설정됨');
return () => {
console.log('user 값이 바뀌기 전');
}
}, [user]);
return (
<div>
<b style={{
color: active ? 'green' : 'black',
cursor: 'pointer',
}}
onClick={() => onToggle(id)}
>{username}</b>
<span>{ email }</span>
<button onClick={() => onRemove(id)}>삭제</button>
</div>
)
}
만약 위와 같이 deps에 (위에서 콜백 바깥의 [user] 부분) 어떤 값이 들어가 있다면,
콜백은 해당 값이 update된 이후의 상태를 반환하고,
return 이후의 함수는 update되기 전의 상태를 반환한다.
vue.js에서는 이를
- beforeMount(){}
- mounted(){}
- beforeUpdate(){}
- Updated(){}
로 설정한다.
'code > React.js' 카테고리의 다른 글
[styled component] 변수 지정하기 (0) | 2022.01.13 |
---|---|
[styled component] 기본 내장 함수(?) (0) | 2022.01.11 |
[React] 배열 추가 및 삭제 (0) | 2022.01.09 |
[React] router (0) | 2021.12.31 |
[React] React 내의 배열 렌더링 하기 (0) | 2021.12.08 |
Comments