shineout
Version:
Shein 前端组件库
52 lines (34 loc) • 1.57 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireDefault(require("react"));
var _config = require("../config");
var _default = function _default(Com, name) {
var _temp;
return _temp =
/*#__PURE__*/
function (_React$Component) {
(0, _inheritsLoose2.default)(_temp, _React$Component);
function _temp(props) {
var _this;
_this = _React$Component.call(this, props) || this;
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "handleUpdate", void 0);
_this.handleUpdate = _this.forceUpdate.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
_config.noti.subscribe(name, _this.handleUpdate);
return _this;
}
var _proto = _temp.prototype;
_proto.componentWillUnmount = function componentWillUnmount() {
_config.noti.unsubscribe(name, this.handleUpdate);
};
_proto.render = function render() {
return _react.default.createElement(Com, this.props);
};
return _temp;
}(_react.default.Component), _temp;
};
exports.default = _default;