Câu hỏi phỏng vấn Reactjs
Câu hỏi

How to call loading function with React useEffect only once?

Câu trả lời

To call a loading function with React's useEffect hook only once, you can pass an empty dependency array as the second argument to the useEffect function. This tells React to execute the effect only after the first render of the component and not on subsequent re-renders. Here's a basic example to demonstrate this:

import { useEffect } from 'react';

function MyComponent() {
  useEffect(() => {
    // Your loading function logic here
    loadDataOnlyOnce();
  }, []); // Empty dependency array

  function loadDataOnlyOnce() {
    console.log('This function is called only once after the component mounts.');
  }

  return (
    <div>
      {/* Component render logic */}
    </div>
  );
}

export default MyComponent;

In this example, useEffect is used with an empty dependency array [], which ensures that the loadDataOnlyOnce function inside it runs only once right after the component mounts. This pattern is similar to the componentDidMount lifecycle method in class components, where you might perform actions like API calls, subscriptions, or manually changing the DOM, which should only happen once when the component is first rendered[3][4][5][6][9][14].

It's important to note that if you include any variables or props inside the useEffect but do not list them in the dependency array, you might introduce bugs due to stale closures capturing old values. Always ensure that all variables used inside useEffect that change over time are included in the de...

junior

junior

Gợi ý câu hỏi phỏng vấn

senior

Describe Flux vs MVC?

junior

What is the difference between state and props ?

senior

Explain the Virtual DOM concept in React

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào