react-kakao-maps-sdk
Version:
React components for using kakao map api
20 lines (17 loc) • 698 B
JavaScript
import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.js';
const useKakaoEvent = (target, type, callback) => {
useIsomorphicLayoutEffect(() => {
if (!target || !callback) return;
const wrapCallback = function () {
for (var _len = arguments.length, arg = new Array(_len), _key = 0; _key < _len; _key++) {
arg[_key] = arguments[_key];
}
if (arg === undefined) return callback(target);else return callback(target, ...arg);
};
kakao.maps.event.addListener(target, type, wrapCallback);
return () => {
kakao.maps.event.removeListener(target, type, wrapCallback);
};
}, [target, type, callback]);
};
export { useKakaoEvent };