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 |
Tags
- 레이아웃쪼개기
- 반복줄이기
- 성능최적화
- 2022
- const 단언문
- 커스텀
- react
- Chart.js
- React Native
- typescript
- javascript
- 타입좁히기
- JS console
- React.js
- returnType
- 티스토리꾸미기
- TSDoc
- 폰트적용하기
- 개발콘텐츠
- vue.js
- click and drag
- 제네릭
- 리액트
- 타입스크립트
- utilty type
- NonNullable
- 공통컴포넌트
- 누구나 자료구조와 알고리즘
- CSS
- reactjs
Archives
- Today
- Total
몽땅뚝딱 개발자
[React] 클래스형 컴포넌트의 생명주기함수 vs 함수형 컴포넌트의 훅 비교 본문
Development/React.js · Next.js
[React] 클래스형 컴포넌트의 생명주기함수 vs 함수형 컴포넌트의 훅 비교
레오나르도 다빈츠 2023. 2. 7. 18:29
◽ 클래스형 컴포넌트 vs 함수형 컴포넌트
클래스형 컴포넌트는 생명주기 함수를 갖고, 함수형 컴포넌트는 훅(Hook)을 갖는다.
리액트는 함수형 컴포넌트를 지향하며, class형 컴포넌트 지원을 멈추지는 않겠지만 앞으로는 사용을 지양하라고 한다.
◽ 클래스형 컴포넌트 vs 함수형 컴포넌트의 비교
분류 | 클래스형 컴포넌트 | 함수형 컴포넌트 |
Mounting | constructor() | 함수형 컴포넌트 내부 |
Mounting | render() | return() |
Mounting | ComponentDidMount() | useEffect() |
Updating | componentDidUpdate() | useEffect() |
UnMounting | componentWillUnmount() | useEffect()의 return |
◽ 클래스형 컴포넌트의 생명주기함수와 동일한 방식으로 구현해보자
1. componentDidUpdate(), getDerivedStateFromProps()
동일 컴포넌트 업데이트 작업 완료 후 실행되는 메소드이다.
useEffect(() => {
// code...
}, [props명, state명, ...])
2. componentDidMount()
마운트 이후 1회만 실행된다.
useEffect(() => {
// code...
}, [])
3. componentWillUnmount()
마운트 이후 1회만 실행된다.
useEffect(() => {
const subscription = props.source.subscribe();
return () => {
// Clean up the subscription
subscription.unsubscribe();
};
});
useEffect(() => {
return () => {
// 여기에 unmount나 unsubscribe 코드 작성
}
}, [props명, state명, ...])
출처
'Development > React.js · Next.js' 카테고리의 다른 글
[React] 스타일드 컴포넌트(styled-component)로 공통 컴포넌트 버튼 테마 분리하기 (with. 타입스크립트) (0) | 2023.02.09 |
---|---|
[React] 함수형 컴포넌트의 훅(Hook)을 정리해보자 (0) | 2023.02.07 |
[React] 성능개선하기 (0) | 2022.10.03 |
[React] CSS 적용하기 / SASS / 스타일 리셋 (0) | 2022.10.03 |
[React] Context API (0) | 2022.09.25 |
Comments