React native 使用react native在后台应用程序刷新中调度操作

React native 使用react native在后台应用程序刷新中调度操作,react-native,redux,React Native,Redux,我正在使用react native background fetch来接收应用程序刷新事件,并且一直在努力在触发时调度一个操作(获取数据)。我可以在redux之外做这件事,但在我发布动作时不行 BackgroundFetch.configure({ stopOnTerminate: false }, async () => { await store.dispatch(getItemsAction); BackgroundFetch.finish(); }); 行动: exp

我正在使用
react native background fetch
来接收应用程序刷新事件,并且一直在努力在触发时调度一个操作(获取数据)。我可以在redux之外做这件事,但在我发布动作时不行

BackgroundFetch.configure({
  stopOnTerminate: false
}, async () => {
  await store.dispatch(getItemsAction);
  BackgroundFetch.finish();
});
行动:

export function getItemsAction() {
  // <-- Reaches here
  return async (dispatch, getState) => {
    // <-- But not here
    const items = await findAll();
    dispatch(itemsRetrieved(items));
  }
}
导出函数getItemsAction(){
//  {

//首先,您需要调用action creator

await store.dispatch(getItemsAction());

然后您需要一个中间件来将函数作为动作处理。我假设您知道
redux thunk

首先需要调用动作创建者

await store.dispatch(getItemsAction());

然后,您需要一个中间件来处理作为操作的功能。我假设您知道
redux-thunk

如果它是在后台运行的无头任务,它就无法从我的经验访问redux存储


当以headless js的形式运行任务时,您将需要使用类似AsyncStorage()的东西,这是应用程序运行后台事件时发生的情况。

如果是在后台运行的无头任务,它就无法从我的体验中访问redux存储


当以headless js运行任务时,您需要使用类似AsyncStorage()的东西,这是应用程序运行后台事件时发生的情况。

是的,上面只是一个片段。省略了括号。拥有另一双眼睛总是有帮助的,谢谢。@sooper然后是第二部分。您添加了中间件来处理函数吗(
redux thunk
)是的,我一直在使用
redux-thunk
,这在上面的代码中并不明显。问题是缺少了括号。是的,上面只是一个片段。遗漏了括号。再多看一眼总是有帮助的,谢谢。@sooper然后是第二部分。你添加了中间件来处理函数(
redux-thunk
)?是的,我一直在使用
redux thunk
,这在上面的代码中并不明显。问题是缺少括号。