클래스형 & 함수형 컴포넌트
클래스형 컴포넌트 (class component)
import React, {Component} from 'react';
class App extends Component {
render() {
const name = 'SH';
return <div className="react">{name}</div>
}
}
export default App;
- class 키워드 필요
- Component로 상속 필요
- render() 메소드 필수
함수형 컴포넌트 (function component)
import React from 'react';
function App() {
const name = 'SH';
return <div className = "react">{name}</div>
}
export default App;
- state, lifeCycle 관련 기능 사용 불가능 → Hook 사용
Lifecycle
mount
: 컴포넌트가 생성될 때
클래스형
useEffect(() => {
...
},[]);
함수형
componentDidMount()
update
: 컴포넌트가 업데이트 될 때
클래스형
useEffect(() => {
...
},[state, props]);
함수형
componentDidUpdate(prevProps, prevState, snapshot)
unmount
: 컴포넌트가 사라질 때
클래스형
useEffect(() => {
return () => {
...
};
},[]);
함수형
componentWillUnmount()