1.2.1 • Published 3 years ago

storagehooks v1.2.1

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

storagehooks

React hooks for connecting component state to state in localStorage and sessionStorage.

Features:

  • Supports localStorage and sessionStorage
  • Values may be any JSON data type
  • storage event support
  • Simple API (similar to React's useState())

storagehooks

Usage

Import useLocalStorage or useSessionStorage (based on your preferred Web Storage location)

import {useLocalStorage, useSessionStorage} from 'storagehooks';

function myComponent(props) {
  // Use it like `useState()`, but provide name of storage key as the first argument
  const [localValue, setLocalValue] = useLocalStorage('myKey', 'initial value');
  const [sessionValue, setSessionValue] = useSessionStorage('myKey', 'initial value');

  return <>
    <label>Value in localStorage:</label>
    <input value={localValue} onChange={e => setLocalValue(e.target.value)} />

    <label>Value in sessionStorage:</label>
    <input value={sessionValue} onChange={e => setSessionValue(e.target.value)} />
  </>;
}

API

useLocalStorage(key[, initialValue , options])

useSessionStorage(key[, initialValue , options])

key(String) key in storage where value is saved
initialValue(any) initial value (passed to useState())
options.listenIf true (the default), a listener is used to update the value in response to "storage" events
options.dispatchIf true (the default), a "storage" event is dispatched to the current window when the value is changed
returnsvalue, setValue tuple, just like useState()