useStorage ​
Hook that manages storage value
state
high
test coverage
Last changed: 3 months ago
Installation ​
Library
CLI
Manual
typescript
import { useStorage } from '@siberiacancode/reactuse';Usage ​
typescript
const { value, set, remove } = useStorage('key', 'value');Demo ​
Api ​
Parameters
| Name | Type | Default | Note |
|---|---|---|---|
| key | string | - | The key of the storage |
| initialValue? | UseStorageInitialValue<Value> | - | The initial value of the storage |
Returns
UseStorageReturn<Value>
Parameters
| Name | Type | Default | Note |
|---|---|---|---|
| key | string | - | The key of the storage |
| params.serializer? | (value: Value) => string | - | The serializer function |
| params.deserializer? | (value: string) => Value | - | The deserializer function |
| params.storage? | Storage | - | The storage |
| params.initialValue? | UseStorageInitialValue<Value> | - | The initial value of the storage |
Returns
UseStorageReturn<Value>
Type declaration ​
typescript
export type UseStorageInitialValue<Value> = (() => Value) | Value;
export interface UseStorageOptions<Value> {
/* The initial value of the storage */
initialValue?: UseStorageInitialValue<Value>;
/* The storage to be used */
storage?: Storage;
/* The deserializer function to be invoked */
deserializer?: (value: string) => Value;
/* The serializer function to be invoked */
serializer?: (value: Value) => string;
}
export interface UseStorageReturn<Value> {
/* The value of the storage */
value: Value;
/* The error state of the storage */
remove: () => void;
/* The loading state of the storage */
set: (value: Value) => void;
}
export interface UseStorage {
<Value>(key: string, options?: UseStorageOptions<Value>): UseStorageReturn<Value | undefined>;
<Value>(
key: string,
initialValue?: UseStorageInitialValue<Value>
): UseStorageReturn<Value | undefined>;
}Source ​
Source • DemoContributors ​
D
B