diff --git a/packages/map/README.md b/packages/map/README.md index 5c74f7425..509da6acd 100644 --- a/packages/map/README.md +++ b/packages/map/README.md @@ -11,11 +11,13 @@ Map 组件是其他组件的基础,Map 组件会给所有的子组件注入两 ```jsx -import { Map, useMap, APILoader } from '@uiw/react-baidu-map'; +import { Map, useMap, APILoader, Provider, useMapContext } from '@uiw/react-baidu-map'; // 或者单独安装使用 -import Map, { useMap, APILoader } from '@uiw/react-baidu-map-map'; +import Map, { useMap, APILoader, Provider, useMapContext } from '@uiw/react-baidu-map-map'; ``` +🚧 注意:需要使用到 ``,新的封装 `Marker` 组建使用了 `Context` 来避免 `map` 对象传来传去。 + ### 基本用法 Map 的父组件必须具有宽度和高度; diff --git a/packages/map/src/context.ts b/packages/map/src/context.ts index c8fbf20c6..2b9c54398 100644 --- a/packages/map/src/context.ts +++ b/packages/map/src/context.ts @@ -20,12 +20,12 @@ export const reducer = (state: InitialState, action: InitialState) => { }; }; -export interface Context { +export interface ContextState { state: Partial; dispatch: React.Dispatch; } -export const Context = React.createContext({ +export const Context = React.createContext({ state: initialState, dispatch: () => null, }); diff --git a/packages/map/src/useMap.tsx b/packages/map/src/useMap.tsx index b099ca30c..a977bf06a 100644 --- a/packages/map/src/useMap.tsx +++ b/packages/map/src/useMap.tsx @@ -76,6 +76,7 @@ export function useMap(props: UseMap = {}) { return () => { dispatch({ map: undefined, container: undefined, BMap: undefined }); }; + // eslint-disable-next-line react-hooks/exhaustive-deps }, [map, container]); const [center, setCenter] = useState(props.center || '上海');