我正在使用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. 如何清除狀態片段
- 5. 如何清除狀態401 HttpServletResponse.SC_UNAUTHORIZED?
- 6. 如何清除反應狀態數組?
- 7. 等待狀態解析(NGRX)
- 8. NGRX /存儲狀態更新
- 9. 清除iOS中狀態欄的背景
- 10. Multiview - 查看清除狀態
- 11. 清除切換狀態
- 12. 清除Oracle會話狀態
- 13. 清除狀態通知Android
- 14. P4 - 清除文件狀態
- 15. 我該如何清除UITableViewCell上的刪除確認狀態
- 16. 我應該如何清除componentWillUnmount中的狀態?
- 17. 如何更新沙盒中未清除eCheck事務的狀態
- 18. 如何清除ASP.NET中所有用戶的SQL會話狀態
- 19. 如何在salesforce中清除頁面的視圖狀態
- 20. 如何清除componentWillUnmount中存儲的組件redux狀態?
- 21. 如何清除ExtJS中的狀態欄文本?
- 22. 如何清除狀態欄中的未接來電通知
- 23. 在Redux中清除陣列狀態
- 24. 在RTF中清除\ listlevel狀態
- 25. 在反應中清除值狀態
- 26. 提交清除中斷狀態
- 27. Kafka Streams - 刪除/清除狀態存儲
- 28. Angular2 + ngrx/store:如何改變循環內的狀態?
- 29. ngrx狀態不斷被覆蓋
- 30. ngrx Reducer更改多個狀態
我不明白下投票。這是一個合理的潛在答案。如果不起作用,請將其添加到評論中。如果它不是你想要的答案類型,那麼你需要在你的問題中更具體。 – wiredprogrammer