Files
Basilosaurusrex f027651f9b main repo
2025-11-24 18:09:40 +01:00

24 lines
551 B
JavaScript

/**
* creates a Ref object with on change callback
* @param callback
* @returns {RefObject}
*
* @see {@link useCallbackRef}
* @see https://reactjs.org/docs/refs-and-the-dom.html#creating-refs
*/
export function createCallbackRef(callback) {
let current = null;
return {
get current() {
return current;
},
set current(value) {
const last = current;
if (last !== value) {
current = value;
callback(value, last);
}
},
};
}