Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Rules of Using Hooks | Hooks
Introduction to React

bookRules of Using Hooks

There are certain rules we must follow while using Hooks to avoid surprises. For the hooks, there are two simple rules:

  1. Only call hooks at the top level;
  2. Only call hooks from React functions.

Top-level means directly inside the React component, and outside of any other code blocks, for example, loops or conditions. The following code shows valid and invalid cases:

function Main(props) { 
  // Correct
  const [ text, updateText ] = useState("Example"); 

  // Incorrect
  if(true) {
    const [ example, setExample ] = useState(0);
  }

  // Incorrect
  for(let i = 0; i < 10; i++) {
    useEffect(() => {
      console.log(text);
    });
  }
  return <p>{text}</p>; 
}

Apart from that, calling React hooks in functions other than React components is also invalid:

function randomFunction() {
  // Incorrect
  const [ count, setCount ] = useState(0);
  return 1;
}


function Main(props) { 
  // Correct, as this function represents a component
  const [ text, updateText ] = useState("Example"); 
  return <p>{text}</p>; 
}

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 6. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Mi faccia domande su questo argomento

Riassuma questo capitolo

Mostri esempi dal mondo reale

Awesome!

Completion rate improved to 2.7

bookRules of Using Hooks

Scorri per mostrare il menu

There are certain rules we must follow while using Hooks to avoid surprises. For the hooks, there are two simple rules:

  1. Only call hooks at the top level;
  2. Only call hooks from React functions.

Top-level means directly inside the React component, and outside of any other code blocks, for example, loops or conditions. The following code shows valid and invalid cases:

function Main(props) { 
  // Correct
  const [ text, updateText ] = useState("Example"); 

  // Incorrect
  if(true) {
    const [ example, setExample ] = useState(0);
  }

  // Incorrect
  for(let i = 0; i < 10; i++) {
    useEffect(() => {
      console.log(text);
    });
  }
  return <p>{text}</p>; 
}

Apart from that, calling React hooks in functions other than React components is also invalid:

function randomFunction() {
  // Incorrect
  const [ count, setCount ] = useState(0);
  return 1;
}


function Main(props) { 
  // Correct, as this function represents a component
  const [ text, updateText ] = useState("Example"); 
  return <p>{text}</p>; 
}

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 6. Capitolo 4
some-alt