diff options
Diffstat (limited to 'src/components/hooks/useGlobalState.ts')
| -rw-r--r-- | src/components/hooks/useGlobalState.ts | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/components/hooks/useGlobalState.ts b/src/components/hooks/useGlobalState.ts new file mode 100644 index 0000000..6f21226 --- /dev/null +++ b/src/components/hooks/useGlobalState.ts @@ -0,0 +1,13 @@ +import { create } from 'zustand'; + +const store = create(() => ({})); + +const useGlobalState = (key: string, value?: any) => { + if (value !== undefined && store.getState()[key] === undefined) { + store.setState({ [key]: value }); + } + + return [store(state => state[key]), (value: any) => store.setState({ [key]: value })]; +}; + +export { useGlobalState }; |