पृष्ठ पुनः लोड के बीच राज्य दृढ़ता को लागू करने के लिए एक अच्छा तरीका क्या होगा? अभी मैं एनजीआरएक्स के संदर्भ में राज्य की बात नहीं कर रहा हूं। मैं उस मामले का जिक्र कर रहा हूं जब आप पृष्ठ को रीफ्रेश करते हैं और सब कुछ खत्म हो जाता है: उपयोगकर्ता लॉग आउट हो गया है, बैकएंड पर सहेजे नहीं गए सभी परिवर्तन चले गए हैं और इसी तरह।

सबसे पहले मैंने सोचा था कि इसे किसी भी तरह से स्थानीय स्टोरेज का उपयोग करके कार्यान्वित किया जा सकता है और फिर ngOnInit() में मुझे जो भी घटक चाहिए, उसमें सब कुछ शामिल किया जा सकता है, लेकिन यह एक पहिया का आविष्कार करने जैसा लगता है। मेरा मानना ​​है कि कोई तैयार समाधान, या कुछ पैटर्न होना चाहिए।

कृपया सलाह दें।

0
alex_ku 22 जिंदा 2020, 15:41

2 जवाब

सबसे बढ़िया उत्तर

वेब में एक त्वरित खोज ngrx-store-localstorage की ओर इशारा करती है जो एप्लिकेशन को स्टोर करने में मदद करती है स्थानीय भंडारण में राज्य। नीचे उनकी वेबसाइट से एक नमूना कार्यान्वयन।

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { StoreModule, ActionReducerMap, ActionReducer, MetaReducer } from '@ngrx/store';
import { localStorageSync } from 'ngrx-store-localstorage';
import { reducers } from './reducers';
 
 
const reducers: ActionReducerMap<IState> = {todos, visibilityFilter};
 
export function localStorageSyncReducer(reducer: ActionReducer<any>): ActionReducer<any> {
  return localStorageSync({keys: ['todos']})(reducer);
}
const metaReducers: Array<MetaReducer<any, any>> = [localStorageSyncReducer];
 
@NgModule({
  imports: [
    BrowserModule,
    StoreModule.forRoot(
        reducers,
        {metaReducers}
    )
  ]
})
export class MyAppModule {}
1
nbsamurai 22 जिंदा 2020, 15:52

आप स्थानीय स्टोरेज में अपनी जरूरत का सामान स्टोर कर सकते हैं, एक लिखित क्रिया (क्योंकि आपने एनजीआरएक्स का उल्लेख किया है) जो स्थानीय स्टोरेज तक पहुंचती है, इसे राज्य में स्टोर करती है और सभी घटक केवल चयनकर्ता या किसी अन्य पसंदीदा तरीके से उस डेटा तक पहुंचते हैं। उम्मीद है की वो मदद करदे

0
chrnx 22 जिंदा 2020, 15:47