Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære 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>; 
}

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 6. Kapittel 4

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 2.7

bookRules of Using Hooks

Sveip for å vise menyen

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>; 
}

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 6. Kapittel 4
some-alt