둘 다 render 사이에 무언가를 캐시하여 매번 재계산/재생성되지 않도록 합니다:
- **
useMemo**는 계산된 값을 캐시합니다. - **
useCallback**은 함수의 identity를 캐시합니다(이는useMemo(() => fn, deps)와 같습니다).
이들은 (a) 비용이 큰 작업의 반복을 피하고 (b) memo된 자식이 의존하는 참조 동일성이 깨지는 것을 방지하기 위해 존재합니다.
jsx
() {
sorted = ( rows.().(byName), [rows]);
handleSelect = ( (id), [onSelect]);
;
}
