메모이제이션의 종류에는 크게 useCallback / useMemo / memo
가 있다.
useCallback( 함수 로직, [ 의존성 배열 ] )
function Count({ number }) {
function add() {
console.log('연산 중')
return number += 1;
}
const sum = useMemo( () => add(), [number] )
return(
<div>
결과 : {sum}
</div>
)
}
첫번째 인자로는 적용할 연산 함수를 넣어준다.
두번째 인자로는 적용할 변수를 배열로 감싸준다.
memo 는 컴포넌트를 메모이제이션 하는 기능이다. memo 로 감싸진 컴포넌트의 결과를 저장시킨 후, 새로 렌더되는 결과가 저장된 결과와 같다면 해당 컴포넌트를 재렌더 하지 않게 한다.
사용법:
function Students({ name, class }) {
return(
<div>
<p> 학생 명단표 </p>
<div> 이름 : {name} </div>
<div> 반 : {class} </div>
</div>
)
}
export default React.memo(Students)