mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
29 lines (28 loc) • 880 B
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
/**
* 获取 id 。
*
* - 兼容 `React@16-17` 没有 useId 的过渡方案。
*
* @param prefix 自定义id前缀
* @returns
*/
function useCompatId() {
var _React$useId;
var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
var originId = (_React$useId = _react.default.useId) === null || _React$useId === void 0 ? void 0 : _React$useId.call(_react.default);
var customId = _react.default.useMemo(function () {
return prefix + Date.now();
}, [prefix]);
if (originId) {
return prefix + originId;
}
return customId;
}
var _default = exports.default = useCompatId;