第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在 reactjs 中每 5 分鐘發(fā)送一次動(dòng)作

如何在 reactjs 中每 5 分鐘發(fā)送一次動(dòng)作

蕪湖不蕪 2023-05-18 10:08:46
我試圖每 5 分鐘發(fā)送一次動(dòng)作。一旦用戶登錄,它就必須調(diào)度操作。它將在每 5 分鐘后開(kāi)始調(diào)度操作。我嘗試使用setInterval,但這里的問(wèn)題是即使我注銷它也會(huì)繼續(xù)執(zhí)行調(diào)度操作。這是我的代碼,我在我的 app.js 中定義了這個(gè) keepAlive 函數(shù),我將整個(gè)應(yīng)用程序包裝到 redux store 中。這是isAuthenticated布爾函數(shù)。如果isAuthenticated是 true 并且只有在我想派遣行動(dòng)時(shí)才API.getAcessToken可用。localstorage  function keepAlive() {    if (      props.isAuthenticated === true &&      API.getAccessTokenFromLocalStorage()    ) {      setInterval(() => {        props.keepTokenAlive();      }, 100000); // 1000ms =1sec    } else {      return null;    }  }  keepAlive();
查看完整描述

2 回答

?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊

您可以創(chuàng)建自定義 React 掛鉤。有一些庫(kù)可以解決這個(gè)問(wèn)題,但涉及的代碼很少,您可以自己解決。

例如,這是來(lái)自u(píng)se-interval?NPM 包的源代碼:

import { useEffect, useRef } from 'react';


const useInterval = (callback, delay) => {

? const savedCallback = useRef();


? useEffect(

? ? () => {

? ? ? savedCallback.current = callback;

? ? },

? ? [callback]

? );


? useEffect(

? ? () => {

? ? ? const handler = (...args) => savedCallback.current(...args);


? ? ? if (delay !== null) {

? ? ? ? const id = setInterval(handler, delay);

? ? ? ? return () => clearInterval(id);

? ? ? }

? ? },

? ? [delay]

? );

};


export default useInterval;

你會(huì)像這樣使用它:


const MyComponent = () => {

? useInterval(() => {

? ? // your code here

? }, 5000);


? return null

}


查看完整回答
反對(duì) 回復(fù) 2023-05-18
?
SMILET

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

你能做這個(gè)嗎?


let to = null;


function keepAlive() {

    //Assign a reference to clear the interval

    to = setInterval(() => {

        if (

           props.isAuthenticated === true &&

           API.getAccessTokenFromLocalStorage()

        ) {

             props.keepTokenAlive();

        } else {

            // If not passing the condition, clear the interval

            clearInterval(to);

        }            

    }, 100000); // 1000ms =1sec

}


 keepAlive();


查看完整回答
反對(duì) 回復(fù) 2023-05-18
  • 2 回答
  • 0 關(guān)注
  • 214 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)