在 ReactJS 中每隔几分钟在后台更新 redux 中的状态

有没有办法运行一个后台进程,每隔几分钟运行一个函数来调用后端 API 并更新 redux 状态。它是一个大型的 React 应用程序,包含很多组件。这会影响全球,所以我正在寻找一个后台进程来执行此操作。

我正在寻找以前是否有人这样做过或使用过 ReactJS 库来做到这一点。


慕运维8079593
浏览 91回答 2
2回答

一只斗牛犬

创建一个类似的组件BackgroundTask并将其放入您的页面中,其中包含一个 useEffect :useEffect(() => {&nbsp; const timer = setInterval(() => {&nbsp; &nbsp; // call you action here&nbsp; }, 5000);&nbsp; return () => clearInterval(timer)}, [])并将其添加到 App 组件中:export default App => (&nbsp; &nbsp; &nbsp; <Provider store={store}>&nbsp; &nbsp; &nbsp; &nbsp; <BackgroundTask/>&nbsp; &nbsp; &nbsp; &nbsp; ... rest of your app ...&nbsp; &nbsp; &nbsp;</Provider>);

RISEBY

setTimeout()您可以通过使用函数来实现这一点。您所要做的就是,在您的主要根组件内,假设您的根组件是App.js. 您可以执行以下操作。import React, { useEffect } from 'react';const App = () => {&nbsp;&nbsp;&nbsp; useEffect(() => {&nbsp; &nbsp; const timer = setTimeout(() => {&nbsp; &nbsp; &nbsp; /* Your API call */&nbsp; &nbsp; }, 1000);&nbsp; &nbsp; return () => clearTimeout(timer);&nbsp; }, []);&nbsp; return (&nbsp; &nbsp; <div>&nbsp; &nbsp; &nbsp; /* allYourComponents */&nbsp; &nbsp; </div>&nbsp; );};export default App;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript