All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
31 lines
603 B
JavaScript
31 lines
603 B
JavaScript
import { useRef, useCallback } from 'react';
|
|
|
|
var updateRef = function updateRef(ref, value) {
|
|
if (typeof ref === 'function') {
|
|
ref(value);
|
|
return;
|
|
}
|
|
ref.current = value;
|
|
};
|
|
|
|
var useComposedRef = function useComposedRef(libRef, userRef) {
|
|
var prevUserRef = useRef();
|
|
return useCallback(function (instance) {
|
|
libRef.current = instance;
|
|
|
|
if (prevUserRef.current) {
|
|
updateRef(prevUserRef.current, null);
|
|
}
|
|
|
|
prevUserRef.current = userRef;
|
|
|
|
if (!userRef) {
|
|
return;
|
|
}
|
|
|
|
updateRef(userRef, instance);
|
|
}, [userRef]);
|
|
};
|
|
|
|
export default useComposedRef;
|