Socket
Socket
Sign inDemoInstall

react-persist-route

Package Overview
Dependencies
6
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    react-persist-route

A module that allows persistence of a route into storage


Version published
Weekly downloads
10
increased by42.86%
Maintainers
1
Install size
229 kB
Created
Weekly downloads
 

Readme

Source

💾 react-persist-route 📱

Travis npm package Coveralls semantic-release

🚀 Save your url information, anywhere and anyhow.

This package enables to possibility of saving url transitions with minimum work, it is compatible with your favorite routers, react-router and @reach/router.

The problem

In some specific situations you may need to persist route information for your web app, this is specially useful for iOS PWAs since they always redirect the user to the home page when launched (https://stackoverflow.com/questions/6930771/stop-reloading-of-web-app-launched-from-iphone-home-screen). Although this package won't solve issues related to multi factor auth on ios pwas, it will save your user a lot of pain while using the app on the day to day.

Usage

import ReactPersistRoute from "react-persist-route";
import {createLocalStorageAdapter} from "react-persist-route/lib/Adapters/localStorageAdapter"

const history = ... // History can be the history object from react-router of reach route

// The fallback url for your app, generally would be the home page.
const fallback = {
  hash: "",
  host: "mypwa.com",
  hostname: "mypwa.com",
  href: "https://mypwa.com/home",
  origin: "",
  pathname: "/home",
  port: "",
  protocol: "https:",
  search: ""
};

const adapter = createLocalStorageAdapter('appkey', fallback)


<ReactPersistRoute history={history} adapter={adapter}/>

Main concepts

Persistence Adapters

A persistence adapter is a an object of that implements the following interface

export interface PersistenceAdapter {
  getKey: () => string;
  onSave: (key: string, location: SerializableLocation) => Promise<string>;
  onLoad: (key: string) => Promise<SerializableLocation | null>;
  onClear: (key: string) => Promise<void>;
}

The main goal of persistence adapters is enable save to any data source (LocalStorage, indexedDB, server). This package the following adapters out of the box (this doesn't mean you need to use them):

  • Local storage

FAQs

Last updated on 15 Mar 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc