本文整理匯總了TypeScript中ngrx-store-localstorage.localStorageSync函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript localStorageSync函數的具體用法?TypeScript localStorageSync怎麽用?TypeScript localStorageSync使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了localStorageSync函數的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: compose
import { storeLogger } from 'ngrx-store-logger';
import { localStorageSync } from 'ngrx-store-localstorage';
import { IState as ICounterState, reducer as counterReducer } from './counter';
import { IState as IUserState, reducer as userReducer } from './user';
import { IState as IConfigState, reducer as configReducer } from './config';
// application state interface
export interface IState {
router: RouterState;
config: IConfigState;
counter: ICounterState;
user: IUserState;
}
// app level reducers
export const reducers = {
router: routerReducer,
config: configReducer,
counter: counterReducer,
user: userReducer
};
// root reducer
export const reducer: ActionReducer<IState> = compose(
storeLogger(),
storeFreeze,
localStorageSync(keys(reducers), true),
combineReducers
)(reducers);
示例2: applyDefaultState
};
function applyDefaultState(reducer: ActionReducer<State>): ActionReducer<State> {
const INITIAL_STATE = '@ngrx/store/init';
return (state: State, action: Action): State => {
if (action.type == INITIAL_STATE)
state = _.merge({}, initialState, state);
return reducer(state, action);
};
}
const withLocalStorage = localStorageSync([
{ movie: ["entities", "mapMovieToCinema"] },
{ cinema: ["cinemas", "currentCinemaId", "screenings"] },
{ ticket: ["tickets"] },
{ account: ["account", "auth"] }],
true);
const devReducer: ActionReducer<State> = compose(withLocalStorage, applyDefaultState, storeFreeze, combineReducers)(reducers);
const prodReducer: ActionReducer<State> = compose(withLocalStorage, applyDefaultState, combineReducers)(reducers);
export function reducer(state: State, action: any) {
const production = false;
if (production)
return prodReducer(state, action);
else
return devReducer(state, action);
}
示例3: registerReducers
import { combineReducers } from '@ngrx/store';
import { compose } from '@ngrx/core/compose';
import { StoreDevtoolsModule } from '@ngrx/store-devtools';
import { getSidebarExpanded } from './app-layout';
import { storeRegistry, registerReducers } from './store.registry';
import { reducersRegisters, EchoesState } from './reducers';
import { localStorageSync } from 'ngrx-store-localstorage';
export { EchoesState } from './reducers';
const { actions, reducers } = registerReducers(reducersRegisters);
const composeStore = compose(
localStorageSync(['videos', 'player', 'nowPlaylist', 'search', 'appLayout'], true),
combineReducers
)(reducers);
const optionalImports = [];
if ('production' !== ENV) {
// Note that you must instrument after importing StoreModule
optionalImports.push(StoreDevtoolsModule.instrumentOnlyWithExtension());
}
@NgModule({
imports: [
StoreModule.provideStore(composeStore),
...optionalImports
],
declarations: [
示例4: localStorageSyncReducer
export function localStorageSyncReducer(reducer: ActionReducer<any>): ActionReducer<any> {
return localStorageSync({
keys: Object.keys(EchoesReducers),
rehydrate: true
})(reducer);
}
示例5: localStorageSyncReducer
export function localStorageSyncReducer(reducer: ActionReducer<any>): ActionReducer<any> {
return localStorageSync({keys: reducerKeys})(reducer);
}
示例6: localStorageSyncReducer
export function localStorageSyncReducer(reducer: ActionReducer<AppState>): ActionReducer<AppState> {
return localStorageSync({keys: ['user', 'loginManage'], rehydrate: true})(reducer);
}