foxact
Version:
React Hooks/Utils done right. For browser, SSR, and React Server Components.
26 lines (23 loc) • 991 B
TypeScript
import { StateHook, ValueHook, SetValueHook } from '../create-storage-state-factory/index.js';
import { NotUndefined, UseStorageRawOption, UseStorageParserOption } from '../create-storage-hook/index.js';
/**
* @see https://foxact.skk.moe/create-session-storage-state
*
* @example
* ```ts
* ```ts
* const [useOpenState, useOpen] = createSessionStorageState(
* 'open', // storage key
* false, // server default value
* { raw: false } // options
* );
*
* const [open, setOpen] = useOpenState();
* const open = useOpen();
* ```
*/
declare const createSessionStorageState: {
<T>(key: string, serverValue: NotUndefined<T>, options?: UseStorageRawOption | UseStorageParserOption<T>): readonly [StateHook<T>, ValueHook<T>, SetValueHook<T | null>];
<T>(key: string, serverValue?: undefined, options?: UseStorageRawOption | UseStorageParserOption<T>): readonly [StateHook<T | null>, ValueHook<T | null>, SetValueHook<T | null>];
};
export { createSessionStorageState };