UNPKG

react-amap-v2

Version:

高德地图 v2.0 react 组件

33 lines (29 loc) 969 B
import { useEffect } from 'react'; import debug from '@/debug'; export function useEvents(events?: any, instance?: any) { useEffect(() => { if (instance && typeof events?.created === 'function') { events?.created(instance); } if (events && instance) { debug('events')('注册事件,实例: %O 事件:%O', instance, events); // 注册事件 Object.keys(events).map(key => { if (typeof instance?.on === 'function' && key !== 'created') { instance?.on(key, events[key]); } }); } return () => { // 取消事件注册 if (events && instance) { debug('events')('移除事件注册,实例: %O 事件:%O', instance, events); Object.keys(events).map(key => { if (typeof instance?.off === 'function' && key !== 'created') { instance?.off(key, events[key]); } }); } }; }, [instance, JSON.stringify(events)]); }