两者都在渲染之间缓存某些内容,以便每次都不会重新计算/重新创建:
useMemo缓存一个计算值。useCallback缓存一个函数的标识(它是useMemo(() => fn, deps))。
它们的存在是为了避免 (a) 重复执行昂贵的工作和 (b) 破坏 memoized 子组件所依赖的引用相等性。
jsx
() {
sorted = ( rows.().(byName), [rows]);
handleSelect = ( (id), [onSelect]);
;
}
