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:

javascript Copy
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

middle

Why do class methods need to be bound to a class instance?

junior

What are two types of components in ReactJS?

senior

Why does React use SyntheticEvents ?

Bình luận

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

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