@react-leaflet/core
Version:
React Leaflet core
20 lines (19 loc) • 631 B
JavaScript
import { useEffect, useRef } from 'react';
export function useEventHandlers(element, eventHandlers) {
const eventHandlersRef = useRef(undefined);
useEffect(function addEventHandlers() {
if (eventHandlers != null) {
element.instance.on(eventHandlers);
}
eventHandlersRef.current = eventHandlers;
return function removeEventHandlers() {
if (eventHandlersRef.current != null) {
element.instance.off(eventHandlersRef.current);
}
eventHandlersRef.current = null;
};
}, [
element,
eventHandlers
]);
}