Feature/lazy load components (#590)

This commit is contained in:
mrdrogdrog 2020-09-26 09:54:17 +02:00 committed by GitHub
parent 9c38655a92
commit 101292da92
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
46 changed files with 261 additions and 248 deletions

View file

@ -1,8 +1,7 @@
import React, { Fragment, useCallback, useEffect, useState } from 'react'
import React, { Suspense, useCallback, useEffect, useState } from 'react'
import { useLocation } from 'react-router'
import './application-loader.scss'
import { createSetUpTaskList, InitTask } from './initializers'
import { LoadingScreen } from './loading-screen'
export const ApplicationLoader: React.FC = ({ children }) => {
@ -33,9 +32,13 @@ export const ApplicationLoader: React.FC = ({ children }) => {
}
}, [initTasks, runTask])
return (
doneTasks < initTasks.length || initTasks.length === 0
? <LoadingScreen failedTitle={failedTitle}/>
: <Fragment>{children}</Fragment>
)
const tasksAreRunning = doneTasks < initTasks.length || initTasks.length === 0
if (tasksAreRunning) {
return <LoadingScreen failedTitle={failedTitle}/>
} else {
return <Suspense fallback={(<LoadingScreen/>)}>
{children}
</Suspense>
}
}