1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-dynamic-import/pages/index.js

44 lines
1.1 KiB
JavaScript
Raw Normal View History

2017-04-17 15:33:40 +00:00
import React from 'react'
import Header from '../components/Header'
import Counter from '../components/Counter'
import dynamic from 'next/dynamic'
2017-04-27 15:22:25 +00:00
import { asyncReactor } from 'async-reactor'
2017-04-17 15:33:40 +00:00
const DynamicComponent = dynamic(import('../components/hello1'))
const DynamicComponentWithCustomLoading = dynamic(
import('../components/hello2'),
{
loading: () => (<p>...</p>)
}
)
2017-04-18 16:51:31 +00:00
const DynamicComponentWithNoSSR = dynamic(
import('../components/hello3'),
{ ssr: false }
)
2017-04-27 15:22:25 +00:00
const DynamicComponentWithAsyncReactor = asyncReactor(async () => {
const Hello4 = await import('../components/hello4')
return (<Hello4 />)
})
2017-04-17 15:33:40 +00:00
const DynamicComponent5 = dynamic(import('../components/hello5'))
2017-04-17 15:33:40 +00:00
export default () => (
<div>
<Header />
<DynamicComponent />
<DynamicComponentWithCustomLoading />
2017-04-18 16:51:31 +00:00
<DynamicComponentWithNoSSR />
2017-04-27 15:22:25 +00:00
<DynamicComponentWithAsyncReactor />
{
/*
Since DynamicComponent5 does not render in the client,
it won't get downloaded.
*/
}
{ React.noSuchField === true ? <DynamicComponent5 /> : null }
2017-04-17 15:33:40 +00:00
<p>HOME PAGE is here!</p>
<Counter />
</div>
)