Socket
Socket
Sign inDemoInstall

context-storage

Package Overview
Dependencies
6
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    context-storage

react hook for localstorage


Version published
Weekly downloads
9
increased by350%
Maintainers
1
Install size
15.8 kB
Created
Weekly downloads
 

Readme

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

Last updated on 01 Jun 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