You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
590 B

"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useRefs;
var React = _interopRequireWildcard(require("react"));
function useRefs() {
var cacheRefs = (0, React.useRef)(new Map());
function getRef(key) {
if (!cacheRefs.current.has(key)) {
cacheRefs.current.set(key, React.createRef());
}
return cacheRefs.current.get(key);
}
function removeRef(key) {
cacheRefs.current.delete(key);
}
return [getRef, removeRef];
}