Hooks are reusable functions.
When you have component logic that needs to be used by multiple components, we can extract that logic to a custom Hook.
Custom Hooks start with “use”. Example: useFetch
.
Hooks are reusable functions.
When you have component logic that needs to be used by multiple components, we can extract that logic to a custom Hook.
Custom Hooks start with “use”. Example: useFetch
.
The React useMemo
Hook returns a memoized value.
Think of memoization as caching a value so that it does not need to be recalculated.
The useMemo
Hook only runs when one of its dependencies update.
This can improve performance.
The useMemo
and useCallback
Hooks are similar. The main difference is that useMemo
returns a memoized value and useCallback
returns a memoized function. You can learn more about useCallback
in the useCallback article.
The React useCallback
Hook returns a memoized callback function.
Think of memoization as caching a value so that it does not need to be recalculated.
This allows us to isolate resource intensive functions so that they will not automatically run on every render.
The useCallback
Hook only runs when one of its dependencies update.
This can improve performance.
The useCallback
and useMemo
Hooks are similar. The main difference is that useMemo
returns a memoized value and useCallback
returns a memoized function. You can learn more about useMemo in the useMemo article.
The useReducer
Hook is similar to the useState
Hook.
It allows for custom state logic.
If you find yourself keeping track of multiple pieces of state that rely on complex logic, useReducer
may be useful.
The useRef
Hook allows you to persist values between renders.
It can be used to store a mutable value that does not cause a re-render when updated.
It can be used to access a DOM element directly.
React Context is a way to manage state globally.
It can be used together with the useState
Hook to share state between deeply nested components more easily than with useState
alone.
The useEffect
Hook allows you to perform side effects in your components.
Some examples of side effects are: fetching data, directly updating the DOM, and timers.
useEffect
accepts two arguments. The second argument is optional.
useEffect(<function>, <dependency>)
The React useState
Hook allows us to track state in a function component.
State generally refers to data or properties that need to be tracking in an application.
useState
To use the useState
Hook, we first need to import
it into our component.
At the top of your component, import
the useState
Hook.
import { useState } from "react";
Notice that we are destructuring useState
from react
as it is a named export.
To learn more about destructuring, check out the ES6 section.
Hooks were added to React in version 16.8.
Hooks allow function components to have access to state and other React features. Because of this, class components are generally no longer needed.
Although Hooks generally replace class components, there are no plans to remove classes from React.
Sass is a CSS pre-processor.
Sass files are executed on the server and sends CSS to the browser.
If you use the create-react-app
in your project, you can easily install and use Sass in your React projects.
Install Sass by running this command in your terminal:
npm i sass
Now you are ready to include Sass files in your project!