Package Exports
- ngrx-store-localstorage
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ngrx-store-localstorage) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
ngrx-store-localstorage
Simple syncing between ngrx store and local storage
Dependencies
ngrx-store-localstorage depends on @ngrx/store and Angular 2.
Usage
npm install ngrx-store-localstorage --save- Import
composeandcombineReducersfrom@ngrx/storeand@ngrx/core/compose - Invoke the
localStorageSyncfunction aftercombineReducers, specifying the slices of state you would like to keep synced with local storage. - Optionally specify whether to rehydrate this state from local storage as
initialStateon application bootstrap. - Invoke composed function with application reducers as an argument to
provideStore.
import {bootstrap} from '@angular/platform-browser-dynamic';
import {TodoApp} from './todo-app';
import {provideStore} from "@ngrx/store";
import {compose} from "@ngrx/core/compose";
import {localStorageSync} from "ngrx-store-localstorage";
export function main() {
return bootstrap(TodoApp, [
provideStore(
compose(
localStorageSync(['todos']),
combineReducers
)({todos, visibilityFilter})
)
])
.catch(err => console.error(err));
}
document.addEventListener('DOMContentLoaded', main);API
localStorageSync(keys : string[], rehydrateState : boolean = false) : Reducer
Provide state (reducer) keys to sync with local storage. Optionally specify whether to rehydrate initialState from local storage on bootstrap.
Returns a meta-reducer
Arguments
keys(string[]): State keys to sync with local storagerehydrateState(boolean? = false): Pull initial state from local storage on startup