usePersistedState
▸ usePersistedState<T
>(key
: string
, defaultValue
: T
): UsePersistedStateReturn
Manage state which also gets saved to the browser's localStorage.
Returns null
if the window
object is not available, e.g. during SSR.
defaultValue
should not be null
or undefined
as it will be used to determine the type of the state.
Usage
Setting a localStorage
value for a user's favorite fruit, based on their selection:
import { usePersistedState } from "@wethegit/react-hooks"
const FRUITS = ["Apple", "Banana", "Orange"]
const FruitSelector = () => {
const [fruit, setFruit] = usePersistedState("fruit")
return (
<>
<form>
<fieldset>
<legend>Select your favorite fruit</legend>
<ul>
{FRUITS.map((fruit) => (
<li key={fruit}>
<input
type="radio" name="fruit" id={fruit} value={fruit}
onChange={() => setFruit(fruit)}
/>
<label for={fruit}>{fruit}</label>
</li>
))}
</ul>
</fieldset>
</form>
{fruit && <p>Your favorite fruit is {fruit}</p>}
</>
)
}
Type parameters
Name | Type |
---|---|
T | string |
Parameters
Name | Type |
---|---|
key | string |
defaultValue | T |
Returns
An array containing the state and a function to update it.
[T
| null
, (v
: T
| null
) => void
]