Похожие чаты

I have a token which is set to expire after

60 days
I am setting the expiration time as


const now = new Date().getTime();
localStorage.setItem('Expiration', `${now + 1000 * 60 * 60 * 24 * 30}`);

Now I want to run a setTimeout for the remaining interval using useEffect
my useEffect looks as

useEffect(() => {
const expirationDuration = localStorage.getItem('Expiration');
let timeoutId: NodeJS.Timeout;

const currentTime = new Date().getTime();
if (!expirationDuration || currentTime > +expirationDuration) {
Cookies.remove('token');
localStorage.removeItem('userId');
localStorage.removeItem('Expiration');
router.replace('/signin');
} else {
const interval = +expirationDuration - currentTime;
const timer = () =>
setTimeout(() => {
Cookies.remove('token');
localStorage.removeItem('userId');
localStorage.removeItem('Expiration');
router.replace('/signin');
}, interval);

timeoutId = timer();
}

return () => {
clearTimeout(timeoutId);
};
}, []);
But apparently when I check in the debugger the setTimeout runs immediately after the page renders instead of running after the specified time interval. What am I doing wrong?

1 ответов

26 просмотров

Now I want to run a setTimeout for the remaining interval using useEffect my useEffect looks as

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
any reference of this implementation?
BitBuddha
29
Ⓐrtto, [4/23/24 7:02 PM] Please explain more fully how it is not working exactly, and what are the steps you are taking, and what error messages come or what happens. Ⓐrtto, ...
Ezza Kezza
2
sounds like people have lost their kaspa on tradeogre... does this mean tradeogre not trustworthy?
Ezza Kezza
15
Страшнейшая правда про списки ЦБ. С первых дней жизни P2P сферы, молодые человеки, начитавшись законодательной базы и "внутренних" документов, решили, что им противостоит сер...
Foxcool
3
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
So much speculation in the last week. So much volatility in price. This is because Hedera has a GC that isn't using the network it's governing. Why aren't people asking why a...
Summit Seeker R
9
Карта сайта