我正在使用Ngrx和Angular2构建移动应用程序。我想在用户从我的应用程序中注销时清除商店?任何人都可以知道如何做到这一点?如何清除#ngrx中的状态?
1
A
回答
-1
我对做这件事的方式的猜测是将一个组件注册在其上。把它放在一个路由器插座或一个结构指令中,当值发生变化时可能会强制销毁和初始化组件。由于商店被注册为组件的提供者(除非我误认为)并且应该绑定到组件,否则应该在组件被销毁时销毁,并使用新组件创建新组件。只是一个想法。我没有时间去测试它。
不要在父组件中注册提供者。我相信注射剂通过层次结构起作用。
5
你应该在你的每个reducer中有一个明确的动作,它将清除商店中的各个属性。当您致电logout
时,请在每个减速器中手动分配清除操作。如果现在有一个选项可以一次性清理整个商店,我现在还不确定。
替代: 更清洁和更快的方法将是。无论何时您通过store.dispatch
致电诉讼,它都会调用您的所有缩减器并使用该action.type
。假设您的动作类型名称为CLEAR
,请将此动作放入您的每个减速器中以清除商店的相应属性。并且在action.type = 'CLEAR'
之前拨打store.dispatch
,它将清除商店的所有属性。
如果混淆让我知道,我会尝试用代码解释。
+0
是不是旧国家仍然保留(允许国家时间旅行的能力)?内存中是否还保留“清除”的对象? –
3
解决方法是编写根减速器。
它类似于此:
export function reducer(state: any, action: any): ActionReducer<any> {
if (action.type === 'CLEAR STATE') {
state = undefined;
}
return appReducer(state, action);
}
相关问题
- 1. NgRx - 状态如何分片
- 2. 如何在vuex store中清除状态?
- 3. 如何清除状态片段
- 4. 如何清除状态401 HttpServletResponse.SC_UNAUTHORIZED?
- 5. 如何清除反应状态数组?
- 6. 如何清除状态条目
- 7. 清除iOS中状态栏的背景
- 8. Multiview - 查看清除状态
- 9. P4 - 清除文件状态
- 10. 清除状态通知Android
- 11. 清除切换状态
- 12. 我该如何清除UITableViewCell上的删除确认状态
- 13. 如何更新沙盒中未清除eCheck事务的状态
- 14. 如何清除componentWillUnmount中存储的组件redux状态?
- 15. 如何清除状态栏中的未接来电通知
- 16. 如何清除ExtJS中的状态栏文本?
- 17. 如何清除ASP.NET中所有用户的SQL会话状态
- 18. 我应该如何清除componentWillUnmount中的状态?
- 19. 在RTF中清除\ listlevel状态
- 20. Kafka Streams - 删除/清除状态存储
- 21. Angular2 + ngrx/store:如何改变循环内的状态?
- 22. 如何删除angular-ui-grid列标题中的“清除排序”状态?
- 23. 使用NGRX处理表单状态/ @Effects
- 24. ngrx状态不断被覆盖
- 25. 如何清除Java小程序的状态文本?
- 26. 清除TEXTAREA值点击(聚焦状态)
- 27. VBA计时器未清除状态栏
- 28. Ngrx角度2我应该如何设置初始状态?
- 29. 如何用NGRX改变状态后执行一些代码?
- 30. ngrx,如何从api获取启动状态?
我不明白下投票。这是一个合理的潜在答案。如果不起作用,请将其添加到评论中。如果它不是你想要的答案类型,那么你需要在你的问题中更具体。 – wiredprogrammer