Запускает функцию каждый раз , когда определенный набор данных изменяется .

useEffect(() => {
  console.log(a + b + c);
  return () => console.log("cleanup");
}, [a, b, c]);

Если вернуть функцию , она будет вызываться для очистки предыдущего эффекта (похоже на componentWillUnmount())