When does useMemo actually help, and when is it noise?
It helps when the computation is genuinely expensive, or when the value is a dependency of another hook or a memoized child, where a new reference each render defeats the memoization. It is noise around cheap operations, because the comparison and the retained value cost something too. Wrapping every value in useMemo makes code harder to read for no measurable gain.