are-message
Version:
This is a React global notification message component. It is a standalone implementation of the are-visual message component.
54 lines (40 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createInstance;
var _react = _interopRequireDefault(require("react"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _container = _interopRequireDefault(require("../container"));
var _createContainer = _interopRequireDefault(require("./create-container"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var instance = null;
/**
* 渲染 Message 容器
*/
function render(callback) {
var called = false;
var handleRef = function handleRef(value) {
if (called) {
return;
}
called = true;
callback === null || callback === void 0 ? void 0 : callback(value);
};
_reactDom.default.render( /*#__PURE__*/_react.default.createElement(_container.default, {
ref: handleRef
}), (0, _createContainer.default)());
}
/**
* 获取实例
*/
function createInstance(callback) {
if (instance !== null && instance !== undefined) {
callback === null || callback === void 0 ? void 0 : callback(instance);
return;
}
render(function (msgInstance) {
instance = msgInstance;
callback === null || callback === void 0 ? void 0 : callback(msgInstance);
});
}