I'd be frustrated with React too if I worked in team where these things are not well understood.
You don't need to read "multiple articles" about these things, they're explained clearly in the docs
- https://react.dev/reference/react/useMemo#memoizing-a-functi...
- https://react.dev/reference/react/useCallback#how-is-usecall...
- https://react.dev/reference/react/useEffect#specifying-react...
To answer OP's questions, useCallback is
function useCallback(fn, dependencies) {
return useMemo(() => fn, dependencies);
}
As for useEffect, everything that might change between renders, eg props used in the effect, must go in the dependency array.