728x90
memorization에 대해서 알아보자
- memo
- useMemo
- useCallback
memo
React.memo는 higher-order components(HOC)
컴포넌트를 인자로 받아 새로운 컴포넌트를 return 해주는 함수
useMemo
- 함수형 컴포넌트는 jsx를 반환하는 함수
- 함수가 실행될 때마다 내부에 선언된 표현식(변수, 또다른 함수)을 매번 다시 선언
- 자신의 state가 변경, 부모에게 받는 props가 변경되었을 때마다 리렌더링
const [state, setState] = useState(initialState);
const [state, setState] = useState(() => {
const initialState = someExpensiveComputation(props);
return initialState;
});
메모리제이션된 값을 반환함
단
1. 하위 컴포넌트가 React.memo()같은 것으로 최적화 되어있고
2. 하위 컴포넌트에게 callback함수를 props로 넘길 때
상위 컴포넌트에서 useCallback으로 함수를 선언하는 것이 유용
함수가 매번 재 선언되면 하위 컴포넌트는 넘겨받은 함수가 달라졌다고 인식하기 때문
useCallback
사용하는 이유: 특정 함수를 새로 만들지 않고 재사용하고 싶을 때 사용
'프로그래밍 > 개발 언어' 카테고리의 다른 글
Vue.js 공식문서 Tutorial (0) | 2022.12.11 |
---|---|
Next.js 터미널 코드(npx create-next-app@latest를 곁들인..) (0) | 2022.12.08 |
GraphQL (0) | 2022.08.02 |
React Hooks (0) | 2022.07.28 |
[React] 상태관리 (0) | 2022.07.07 |
댓글