antd
Version:
An enterprise-class UI design language and React components implementation
24 lines (23 loc) • 1.1 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.usePatchElement = void 0;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var React = _interopRequireWildcard(require("react"));
const usePatchElement = () => {
const [elements, setElements] = React.useState([]);
const patchElement = React.useCallback(element => {
// append a new element to elements (and create a new ref)
setElements(originElements => [].concat((0, _toConsumableArray2.default)(originElements), [element]));
// return a function that removes the new element out of elements (and create a new ref)
// it works a little like useEffect
return () => {
setElements(originElements => originElements.filter(ele => ele !== element));
};
}, []);
return [elements, patchElement];
};
exports.usePatchElement = usePatchElement;