JSPM

  • Created
  • Published
  • Downloads 69432
  • Score
    100M100P100Q168649F
  • License MIT

State and local storage syncing for @ngrx/store

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
  1. Configure your ngrx store as normal using provideStore.
  2. Using the provided localStorageMiddleware function, specify the slices of state you would like to keep synced with local storage.
  3. Optionally specify whether to rehydrate this state from local storage as initialState on application bootstrap.
import {bootstrap} from 'angular2/platform/browser';
import {TodoApp} from './todo-app';
import {provideStore} from "@ngrx/store";
import {localStorageMiddleware} from "ngrx-store-localstorage";

export function main() {
  return bootstrap(TodoApp, [
      provideStore({todos, visibilityFilter}),
      localStorageMiddleware(['todos', 'visibilityFilter'], true)
  ])
  .catch(err => console.error(err));
}

document.addEventListener('DOMContentLoaded', main);

API

localStorageMiddleware(keys : string[], rehydrateState : boolean = false)

Provide state (reducer) keys to sync with local storage. Optionally specify whether to rehydrate initialState from local storage on bootstrap.

Arguments

  • keys (string[]): State keys to sync with local storage
  • rehydrateState (boolean? = false): Pull initial state from local storage on startup