diff --git a/core/docz/src/components/AsyncRoute.tsx b/core/docz/src/components/AsyncRoute.tsx index 5a6fa3830..ba5654cc7 100644 --- a/core/docz/src/components/AsyncRoute.tsx +++ b/core/docz/src/components/AsyncRoute.tsx @@ -1,15 +1,20 @@ import * as React from 'react' import { SFC } from 'react' import { get } from 'lodash/fp' -import { lazy } from '@loadable/component' +import loadable from '@loadable/component' import { Entry } from '../state' import { useComponents, ComponentsMap } from '../hooks/useComponents' import { AsyncComponent } from './AsyncComponent' export type Imports = Record Promise> -export const loadRoute = (path: string, imports: Imports) => { - return lazy(async () => { +export const loadRoute = ( + path: string, + imports: Imports, + components: ComponentsMap +) => { + const Loading: any = components.loading + const fn = async () => { const importFn = get(path, imports) const { default: Component, getInitialProps } = await importFn() const ExportedComponent: SFC = props => ( @@ -21,7 +26,8 @@ export const loadRoute = (path: string, imports: Imports) => { ) return ExportedComponent - }) + } + return loadable(fn, { fallback: }) } interface AsyncRouteProps { diff --git a/core/docz/src/components/Routes.tsx b/core/docz/src/components/Routes.tsx index 8ea41812f..514de8f91 100644 --- a/core/docz/src/components/Routes.tsx +++ b/core/docz/src/components/Routes.tsx @@ -32,7 +32,6 @@ export const Routes: SFC = ({ imports }) => { const { entries } = useContext(doczState.context) const NotFound: any = components.notFound - const Loading: any = components.loading const history = useMemo(() => createHistory(window as any), []) useEffect(() => { @@ -42,26 +41,24 @@ export const Routes: SFC = ({ imports }) => { return ( - }> - - - {entries && - entries.map(({ key: path, value: entry }) => { - const props = { path, entries, components } - const component = loadRoute(path, imports) + + + {entries && + entries.map(({ key: path, value: entry }) => { + const props = { path, entries, components } + const component = loadRoute(path, imports, components) - return ( - - ) - })} - - + return ( + + ) + })} + ) diff --git a/core/gatsby-theme-docz/src/node/createPages.js b/core/gatsby-theme-docz/src/node/createPages.js index ae057e492..4eb64ea6a 100644 --- a/core/gatsby-theme-docz/src/node/createPages.js +++ b/core/gatsby-theme-docz/src/node/createPages.js @@ -25,7 +25,7 @@ const ENTRIES_QUERY = ` ` module.exports = ({ graphql, actions }, opts) => { - const { paths, ...config } = getDoczConfig(opts) + const { paths } = getDoczConfig(opts) return graphql(ENTRIES_QUERY).then(({ data, errors }) => { const hasErrors = errors && errors.length > 0