Update stanu licznika w komponencie

0

Czemu w tym kodzie po pewnym czasie zaczyna świrować
wchodzi rysuje 0,
potem wykonuje się useEffect() ustawia interval czeka,
interval zmienia state na o jeden większy.
znowu odpala sie useEffect() i ustawia się interval, czemu następują dodatkowe useeffecty?

import { useEffect, useState } from 'react';

const Counter = () => {
  const [count, setCount] = useState(0);

  useEffect(() => {
    console.log('tutaj');
    setInterval(() => {
      setCount(count + 1);
    }, 5000);
  }, [count]);

  return <div>{count}</div>;
};

export default Counter;
2

bo nie kasujesz intervalu przez clearInterval, wobec tego efekt ciągle się odpala i interval na nowo, a nigdy nie jest kasowany:
możesz zwrócić funkcję czyszczącą tak jak tutaj napisali: https://reactjs.org/docs/hooks-reference.html#useeffect

1 użytkowników online, w tym zalogowanych: 0, gości: 1