import { createContext, useContext } from 'react'; export const initialState: InitialState = {}; export const PointerContext = createContext(initialState); export const PointerDispatchContext = createContext(() => {}); export type Dispatch = React.Dispatch; type InitialState = Record; export function reducer(tasks: InitialState, action: InitialState) { if (action && Object.keys(action).length === 0) return initialState; return { ...tasks, ...action }; } export const useStore = () => { return useContext(PointerContext); }; export const useDispatch = () => { return useContext(PointerDispatchContext); };