useEffect (): после и для каждого цикла рендеринга
useEffect (() => {}); // без аргументов действует как componentDidUpdate
useEffect (() => {}, []); // с пустым массивом аргумент действует как componentDidMount
(запускается только один раз после первого рендеринга)
useEffect(() => {
if (isAuthenticated) {
history.push("/");
} else if (signup) {
history.push("/signup");
}
},[isAuthenticated]); //passing a value will remove the error that you are receiving and check for the variable responsible for change , if changes are found it will run useEffect callback.