import * as React from 'react'; import Loadable, { LoadingComponentProps } from 'react-loadable'; class LoadingComponent extends React.Component { render() { return
{this.props.isLoading}
; } } interface ComponentProps { text: string; } const Component: React.SFC = ({ text }) =>
{text}
; const Loadable100 = Loadable({ // a module shape with 'export = Component' / 'module.exports = Component' loader: () => Promise.resolve(Component), LoadingComponent, delay: 100 }); const Loadable200 = Loadable({ // a module shape with 'export default Component' loader: () => Promise.resolve({ default: Component }), LoadingComponent, delay: 200 }); const Loadable300 = Loadable({ // a module shape with 'export { Component }' loader: () => Promise.resolve({ Component }), LoadingComponent, delay: 300, resolveModule: shape => shape.Component }); const Loadable400 = Loadable({ // a module shape with both 'export default Component' and 'export { Component }' loader: () => Promise.resolve({ default: Component, Component }), LoadingComponent: () => null, delay: 300, resolveModule: shape => shape.Component }); const used100 = ; const used200 = ; const used300 = ; const used400 = ; Loadable100.preload();