when to usememo and usecallback code example
Example: react usememo vs usecallback
useMemo is to memoize a calculation result between a function's calls and between renders
useCallback is to memoize a callback itself (referential equality) between renders