React Hooks (Finished)

Introduction

In this post, we will talk about the last bit of hooks within React’s built-in hooks, which today will consist of useMemo, useCallback, and useLayoutEffect.

useMemo

This hook is used to help optimize your function by avoiding calculations on every render. useMemo returns a memoized value. Memoization just means a technique that is used to optimize and speed up your code. In order to use this hook, you will need to pass in a function and an array of dependencies, then useMemo will only run the memoized value when any of the dependencies changed.

const memoizedV = useMemo(() => someFunction(x, y), [x, y]);

useCallback

useCallback is useful for when you are passing down the same function in multiple components.

const displayCounter = () => {
return (
<p> {counter} </p>
)}
return (
<div>
<ChildComponent displayCount={displayCounter} />
</div>

If we use the hook useCallback then we will be able to prevent rerenders because they would all be using the same function object.

const displayCounter = useCallback(() => {
return (
<p> {counter} </p>
)}, [counter])
return (
<div>
<ChildComponent displayCount={displayCounter} />
</div>

useLayoutEffect

This hook is similar to the useEffect hook. This hook will run after rendering the component but before any updates have been made to the screen. This will run your entire code before anything on the UI is updated.

Conclusion

This wraps up all of the built-in hooks within React! In my free time, I will be coming back and updating each post with better code blocks/examples and add more info when I can!

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store