Docs

React — Interview Questions & Mental Models

useMemo / useCallback / React.memo — don't over-apply


  • useMemo: cache a computed value; only worth it if computation is genuinely expensive or you need referential stability for deps of other hooks/memos.
  • useCallback: stable function identity for children that are memo'd or for deps arrays — not a performance knob by default.
  • React.memo: skip re-render of child if props are shallow-equal — useless if you pass new object/array/function every render unless stabilised.
  • Classic Q: how do you avoid unnecessary re-renders? → First: correct data flow and smaller components; then memo + stable props; then profiling (React DevTools Profiler).