shineout
Version:
Shein 前端组件库
72 lines (52 loc) • 2.34 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.PureComponent = exports.Component = 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"));
function create(name) {
var _temp;
var Base = _react.default[name];
return _temp =
/*#__PURE__*/
function (_Base) {
(0, _inheritsLoose2.default)(_temp, _Base);
function _temp() {
var _this;
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _Base.call.apply(_Base, [this].concat(args)) || this;
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "$isMounted", void 0);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "forceUpdateTimer", void 0);
return _this;
}
var _proto = _temp.prototype;
_proto.componentDidMount = function componentDidMount() {
this.$isMounted = true;
};
_proto.componentWillUnmount = function componentWillUnmount() {
this.$isMounted = false;
};
_proto.setState = function setState() {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
if (this.$isMounted !== false) _Base.prototype.setState.apply(this, args);
};
_proto.forceUpdate = function forceUpdate() {
if (this.$isMounted === true) _Base.prototype.forceUpdate.call(this);
if (this.$isMounted === undefined) {
if (this.forceUpdateTimer) clearTimeout(this.forceUpdateTimer);
this.forceUpdateTimer = setTimeout(this.forceUpdate.bind(this));
}
};
return _temp;
}(Base), _temp;
}
var Component = create('Component');
exports.Component = Component;
var PureComponent = create('PureComponent');
exports.PureComponent = PureComponent;