Skip to content
Related Articles

Related Articles

ReactJS useLayoutEffect Hook

Improve Article
Save Article
  • Last Updated : 22 Jan, 2021
Improve Article
Save Article

The useLayoutEffect works similarly to useEffect but rather working asynchronously like useEffect hook, it fires synchronously after all DOM loading is done loading. This is useful for synchronously re-rendering the DOM and also to read the layout from the DOM. But to prevent blocking the page loading, we should always use useEffect hook.

The useLayoutEffect hook works in the same phase as componentDidMount and componentDidUpdate methods. We should only use useLayoutEffect if useEffect isn’t outputting the expected result.



Creating React Application:

Step 1: Create a React application using the following command:

npx create-react-app functiondemo

Step 2: After creating your project folder i.e. functiondemo, move to it using the following command:

cd functiondemo

Project Structure: It will look like the following.

Project Structure

Example: In this example, we are going to build a name changer application that changes the name of the state when the useLayoutEffect hook is called.

App.js: Now write down the following code in the App.js file. Here, App is our default component where we have written our code.


import React, { useLayoutEffect, useState } from 'react';
const App = () => {
  const [value, setValue] = useState('GFG');
  useLayoutEffect(() => {
    if (value === 'GFG') {
     // Changing the state 
    console.log('UseLayoutEffect is called with the value of ', value);
  }, [value]);
  return <div>{value} is the greatest portal for geeks!</div>;
export default App;

Step to Run Application: Run the application using the following command from the root directory of the project:

npm start


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!