React use hook for shared and persisted state
npm install react-use-storage-state> React use hook for shared and persisted state





Imagine like recoil or redux without reducer and actions combined with localStorage.
This package provider simpler development experiment (DX) for shared state than redux. You can update the shared state directly, without writing verbose code to ~~obtain dispatcher, create action, dispatch action, construct new state in reducer, and return sub-state in selector~~.
React.useState()Remark:
[1]: For state shared in the same browser tab, but isolated across different browser tab.
Demo: https://react-use-storage-state-demo.surge.sh
``bashusing npm
npm install react-use-storage-state
Typescript Signature
`typescript
export default useStorageStateexport function useStorageState(
key: string,
initialState: T | (() => T),
storageArea?: Storage // default is localStorage
): [state: T, setState: (newState: T | ((prevState: T) => T)) => void];
export function createMemoryStorage(): Storage;
`Usage
`tsx
import React from 'react'
import { useStorageState } from 'react-use-storage-state'const Example = () => {
const [state, setState] = useStorageState('counter', 1)
function inc() {
setState(state + 1)
}
return (
)
}
``Details see DemoApp.tsx
This project is licensed with BSD-2-Clause
This is free, libre, and open-source software. It comes down to four essential freedoms [[ref]](https://seirdy.one/2021/01/27/whatsapp-and-the-domestication-of-users.html#fnref:2):
- The freedom to run the program as you wish, for any purpose
- The freedom to study how the program works, and change it so it does your computing as you wish
- The freedom to redistribute copies so you can help others
- The freedom to distribute copies of your modified versions to others