我有一个计划的函数,它每隔X分钟从服务器获取数据,我希望它使用响应来更新状态:
api.fetchData().then(
(response) => {
dispatch(Actions.updateConfiguration(response));
}
};
此函数不应作为任何 react 组件,因为它不会呈现任何内容。
但是我似乎无法弄清楚如何在不使用
dispatch
的情况下注入(inject)connect
函数,这要求它是一个react组件。谢谢。
最佳答案
我们有类似的事情(对auth token 是否仍然有效的定期检查),我们执行了以下操作。
在我们的小“util”函数中,我们将redux存储作为参数接收
export function startSessionTimer(store) {
const intervalId = setInterval(() => {
if ( ... ) {
store.dispatch( ... );
clearInterval(intervalId);
}
}, (15 * 60 * 1000));
}
然后,在我们设置应用程序和创建商店的地方,我们还启动了计时器。
const store = configureStore( ... );
startSessionTimer(store);