15 lines
467 B
TypeScript
15 lines
467 B
TypeScript
import { useStore } from "zustand";
|
|
import { useContext } from "react";
|
|
import type { DataStore } from "../store/data-store";
|
|
import { StoreContext } from "../providers/store-provider";
|
|
|
|
export const useDataStore = <T>(selector: (store: DataStore) => T): T => {
|
|
const storeContext = useContext(StoreContext);
|
|
|
|
if (!storeContext) {
|
|
throw new Error("useDataStore must be used within StoreProvider");
|
|
}
|
|
|
|
return useStore(storeContext.dataStore, selector);
|
|
};
|