wavesurfer-react
Version:
react wrapper for wavesurfer.js
29 lines (24 loc) • 687 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
function useRegionEvent(ref, eventName, callback) {
const callbackRef = React.useRef(null);
React.useEffect(()=>{
if (!ref) {
return;
}
if (callback) {
callbackRef.current = (...args)=>callback(ref, ...args);
ref.on(eventName, callbackRef.current);
}
return ()=>{
callbackRef.current && ref.un(eventName, callbackRef.current);
callbackRef.current = null;
};
}, [
ref,
eventName,
callback
]);
}
exports.default = useRegionEvent;