UNPKG

shineout

Version:

Shein 前端组件库

63 lines (46 loc) 1.88 kB
import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose"; import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; import React from 'react'; function create(name) { var _temp; var Base = React[name]; return _temp = /*#__PURE__*/ function (_Base) { _inheritsLoose(_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; _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "$isMounted", void 0); _defineProperty(_assertThisInitialized(_assertThisInitialized(_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; } export var Component = create('Component'); export var PureComponent = create('PureComponent');