Asynchronous way of loading a React component. Note, you need to include the fallback prop, or it won't work.
import React, { lazy, Suspense } from 'react'
import ReactDOM from 'react-dom'
const TestComponent = (
lazy(() => (
import('./TestComponent')
))
)
const LoadingMessage = () => (
"I'm loading..."
)
const App = () => (
<Suspense fallback={<LoadingMessage />}>
<TestComponent />
</Suspense>
)
const rootElement = document.getElementById('root')
ReactDOM.render(<App />, rootElement)