What is the diff between useMemo vs useCallback hooks?
useCallbackgives you referential equality between renders for functions. AnduseMemogives you referential equality between renders for values.useCallbackanduseMemoboth expect a function and an array of dependencies. The difference is thatuseCallbackreturns its function when the dependencies change whileuseMemocalls its function and returns the result.useCallbackreturns its function uncalled so you can call it later, whileuseMemocalls its function and returns the result
const fn = () => Infinity; // assuming expensive calculation here
const memoFn = React.useCallback(fn, [dep]);
const memoFnValue = React.useMemo(fn, [dep]);