Angular “缺少Redux状态”;“离线”;来自redux脱机的部分

Angular “缺少Redux状态”;“离线”;来自redux脱机的部分,angular,redux,redux-offline,Angular,Redux,Redux Offline,我在Angular项目中使用,现在我想在脱机模式下取消发件箱中的项目。基本上,我只想在发件箱阵列上进行筛选,以删除我要取消/修改的项目 我的问题是,我在顶级减速器中收到的状态缺少(未定义)。我可以在Redux开发工具中看到离线,也可以通过NgRedux.select()和NgRedux.getState()获得离线 redux offline在减速器中接收到的状态下不存在的原因是什么?我可以添加它,然后通过减速机更改它吗?或者是否有其他用户可以访问和修改发件箱 package.json: "de

我在Angular项目中使用,现在我想在脱机模式下取消发件箱中的项目。基本上,我只想在发件箱阵列上进行筛选,以删除我要取消/修改的项目

我的问题是,我在顶级减速器中收到的状态缺少(未定义)。我可以在Redux开发工具中看到离线,也可以通过NgRedux.select()和NgRedux.getState()获得离线

redux offline在减速器中接收到的状态下不存在的原因是什么?我可以添加它,然后通过减速机更改它吗?或者是否有其他用户可以访问和修改发件箱

package.json:

"dependencies": {
 "@angular-redux/router": "^7.0.0",
 "@angular-redux/store": "^9.0.0",
 "@angular/animations": "^6.0.3",
 "@angular/common": "^6.0.3",
 "@angular/compiler": "^6.0.3",
 "@angular/core": "^6.0.3",
 "@angular/forms": "^6.0.3",
 "@angular/http": "^6.0.3",
 "@angular/platform-browser": "^6.0.3",
 "@angular/platform-browser-dynamic": "^6.0.3",
 "@angular/pwa": "^0.6.7",
 "@angular/router": "^6.0.3",
 "@angular/service-worker": "^6.0.3",
 "@redux-offline/redux-offline": "^2.3.3",
 "core-js": "^2.5.7",
 "reduce-reducers": "^0.3.0",
 "redux": "^4.0.0",
 "redux-observable": "1.0.0-alpha.2",
 "rxjs": "^6.2.0",
 "rxjs-compat": "^6.2.0",
 "zone.js": "^0.8.26"
},
"devDependencies": {
 "redux-devtools-extension": "^2.13.2",
 "@angular-devkit/build-angular": "^0.6.7",
 "@angular/cli": "^6.0.7",
 "@angular/compiler-cli": "^6.0.3",
 "@angular/language-service": "^6.0.3",
 "@types/jasmine": "^2.8.8",
 "@types/jasminewd2": "~2.0.3",
 "@types/node": "^8.10.18",
 "codelyzer": "^4.3.0",
 "jasmine-core": "~2.99.1",
 "jasmine-spec-reporter": "~4.2.1",
 "karma": "~1.7.1",
 "karma-chrome-launcher": "~2.2.0",
 "karma-coverage-istanbul-reporter": "^1.4.3",
 "karma-jasmine": "^1.1.2",
 "karma-jasmine-html-reporter": "^0.2.2",
 "opn-cli": "^3.1.0",
 "protractor": "^5.3.2",
 "ts-node": "~5.0.1",
 "tslint": "~5.9.1",
 "typescript": "~2.7.2"
}

如果您需要更多信息,请写一条评论。

redux offline
动态注入它自己的reducer,因此您将无法通过顶级reducer访问它
redux offline
通过配置公开它,该配置允许您更新发件箱以删除/添加操作。如果您想在用户脱机时删除脱机操作,我建议使用特定操作类型(例如,
“取消脱机操作”
)进行脱机操作调用,并在
队列中处理。排队
删除发件箱中您不想传播的操作

下面是一个粗略的例子:

//要分派的操作
常量动作={
键入:“取消脱机操作”,
有效载荷:{
id:123,
},
元:{
离线:{
效果:{
url:“”
},
},
},
};
//自定义排队操作
功能排队(发件箱、收件操作){
return incomingAction.type!=“取消脱机操作”?[…发件箱,incomingAction]:
发件箱过滤器(
outboxAction=>outboxAction.payload.id!==incomingAction.payload.id,
);
}