@shopify/react-async
Version:
Tools for creating powerful, asynchronously-loaded React components
40 lines (33 loc) • 1.03 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var prefetch = require('./context/prefetch.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
class ConnectedPrefetchRoute extends React__default["default"].Component {
componentDidMount() {
const {
manager,
path,
render
} = this.props;
this.unregister = manager.register({
path,
render
});
}
componentWillUnmount() {
if (this.unregister) {
this.unregister();
}
}
render() {
return null;
}
}
function PrefetchRoute(props) {
return /*#__PURE__*/React__default["default"].createElement(prefetch.PrefetchContext.Consumer, null, manager => /*#__PURE__*/React__default["default"].createElement(ConnectedPrefetchRoute, Object.assign({
manager: manager
}, props)));
}
exports.PrefetchRoute = PrefetchRoute;