All files / map/src context.ts

42.85% Statements 3/7
100% Branches 0/0
0% Functions 0/3
42.85% Lines 3/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37                  1x           1x                       1x                  
import React from 'react';
import { useContext } from 'react';
 
type InitialState = {
  BMap?: typeof BMap;
  map?: BMap.Map;
  container?: HTMLDivElement | null;
};
 
export const initialState: Partial<InitialState> = {
  map: undefined,
  BMap: undefined,
  container: undefined,
};
 
export const reducer = (state: InitialState, action: InitialState) => {
  return {
    ...state,
    ...action,
  };
};
 
export interface ContextState {
  state: Partial<InitialState>;
  dispatch: React.Dispatch<InitialState>;
}
 
export const Context = React.createContext<ContextState>({
  state: initialState,
  dispatch: () => null,
});
 
export function useMapContext() {
  const { state, dispatch } = useContext(Context);
  return { ...state, state, dispatch };
}