jobiqo-cl
Version:
[](https://circleci.com/gh/jobiqo/jobiqo-cl)
32 lines (26 loc) • 874 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var React = require('react');
var React__default = _interopDefault(React);
function useCallbackRef(initialValue, callback) {
var ref = React.useState(function () { return ({
value: initialValue,
callback: callback,
facade: {
get current() {
return ref.value;
},
set current(value) {
var last = ref.value;
if (last !== value) {
ref.value = value;
ref.callback(value, last);
}
}
}
}); })[0];
ref.callback = callback;
return ref.facade;
}
exports.useCallbackRef = useCallbackRef;