react-lazily-component
Version:
为React设计的组件懒加载方法,支持jsx和tsx。
14 lines • 2.84 kB
JavaScript
/*!
* React-Lazily-Component - 为React设计的组件懒加载方法,支持jsx和tsx。
* git+https://github.com/hai2007/react-lazily-component.git
*
* author 你好2007 < https://hai2007.gitee.io/sweethome >
*
* version 0.3.0
*
* Copyright (c) 2021-present hai2007 走一步,再走一步。
* Released under the MIT license
*
* Date:Mon Apr 18 2022 14:25:02 GMT+0800 (中国标准时间)
*/
import React from"react";function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if("value"in n)n.writable=true;Object.defineProperty(e,n.key,n)}}function _createClass(e,t,r){if(t)_defineProperties(e.prototype,t);if(r)_defineProperties(e,r);return e}function _inherits(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)_setPrototypeOf(e,t)}function _getPrototypeOf(e){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function e(t){return t.__proto__||Object.getPrototypeOf(t)};return _getPrototypeOf(e)}function _setPrototypeOf(e,t){_setPrototypeOf=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return _setPrototypeOf(e,t)}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _assertThisInitialized(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function _possibleConstructorReturn(e,t){if(t&&(typeof t==="object"||typeof t==="function")){return t}else if(t!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return _assertThisInitialized(e)}function _createSuper(o){var i=_isNativeReflectConstruct();return function e(){var t=_getPrototypeOf(o),r;if(i){var n=_getPrototypeOf(this).constructor;r=Reflect.construct(t,arguments,n)}else{r=t.apply(this,arguments)}return _possibleConstructorReturn(this,r)}}var index=function(n){return function(e){_inherits(r,e);var t=_createSuper(r);function r(){var e;_classCallCheck(this,r);e=t.call(this);e.state={YourComponent:null};return e}_createClass(r,[{key:"componentDidMount",value:function e(){var t=this;n().then(function(e){t.setState({YourComponent:e["default"]})})}},{key:"render",value:function e(){var t=this.state.YourComponent;if(t){return React.createElement(t,this.props)}else{return null}}}]);return r}(React.Component)};export default index;