@shopify/react-async
Version:
Tools for creating powerful, asynchronously-loaded React components.
32 lines (31 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var React = tslib_1.__importStar(require("react"));
var prefetch_1 = require("./context/prefetch");
var ConnectedPrefetchRoute = /** @class */ (function (_super) {
tslib_1.__extends(ConnectedPrefetchRoute, _super);
function ConnectedPrefetchRoute() {
return _super !== null && _super.apply(this, arguments) || this;
}
ConnectedPrefetchRoute.prototype.componentDidMount = function () {
var _a = this.props, manager = _a.manager, path = _a.path, render = _a.render;
this.unregister = manager.register({
path: path,
render: render,
});
};
ConnectedPrefetchRoute.prototype.componentWillUnmount = function () {
if (this.unregister) {
this.unregister();
}
};
ConnectedPrefetchRoute.prototype.render = function () {
return null;
};
return ConnectedPrefetchRoute;
}(React.Component));
function PrefetchRoute(props) {
return (React.createElement(prefetch_1.PrefetchContext.Consumer, null, function (manager) { return (React.createElement(ConnectedPrefetchRoute, tslib_1.__assign({ manager: manager }, props))); }));
}
exports.PrefetchRoute = PrefetchRoute;