Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

context-storage

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

context-storage

react hook for localstorage

  • 0.1.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Context Storage

npm gzip size Build Status Code Coverage MIT Licensed

React hook for sharing localStorage via context.

values are automatically converted to and from JSON.

Install

$ npm install --save context-storage

or

$ yarn add context-storage

requires: any version of react with hooks. (react >= 16.8.0)

Usage

import React from 'react'
import createStorage from 'context-storage'

const [Provider, useStorage] = createStorage('local-storage-key')

const Title = () => <h1>Hello {useStorage()[0]}!</h1>

const UserNameInput = () => {
  const [name, setName] = useStorage()
  const handleChange = ({ target }) => setName(target.value)
  return <input value={name || ''} onChange={handleChange} />
}

export const App = () => (
  <Provider>
    <Title />
    <UserNameInput />
  </Provider>
)

Arguments

key is the only required argument.

nametypedescription
keystringwhich key in localStorage to use
fallbackanyfallback when localStorage is empty
replacerfunction︱arraypassed to JSON.stringify
reviverfunctionpassed to JSON.parse
storageobjectwith getItem and setItem methods

Implementation

the value will always be encoded as JSON when saving to localStorage. and decoded when read back.

it's safe to use objects and arrays, as long as they are non-circular.

following JSON standards, it's to be expected that, without custom replacer/reviver:

  • prototypes will be lost;
  • Functions will get discarded;
  • Dates will be cast into ISO 8601 strings.

Map and Set can be used with custom replacer and reviver arguments.

Keywords

FAQs

Package last updated on 01 Jun 2019

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc