Make monaco lazy

This commit is contained in:
Kurt Hutten
2021-03-17 06:59:03 +11:00
parent 16bc13fc96
commit b3c483ccca

View File

@@ -1,13 +1,20 @@
import { useContext, useRef, useEffect } from 'react' import { useContext, useRef, useEffect, lazy, Suspense } from 'react'
import { Mosaic, MosaicWindow } from 'react-mosaic-component' import { Mosaic, MosaicWindow } from 'react-mosaic-component'
import { IdeContext } from 'src/components/IdeToolbarNew' import { IdeContext } from 'src/components/IdeToolbarNew'
import IdeEditor from 'src/components/IdeEditor'
import IdeViewer from 'src/components/IdeViewer' import IdeViewer from 'src/components/IdeViewer'
import IdeConsole from 'src/components/IdeConsole' import IdeConsole from 'src/components/IdeConsole'
import 'react-mosaic-component/react-mosaic-component.css' import 'react-mosaic-component/react-mosaic-component.css'
const IdeEditor = lazy(() => import('../IdeEditor/IdeEditor'))
const LazyEditor = () => (
<Suspense fallback={<div>...loading</div>}>
<IdeEditor />
</Suspense>
)
const ELEMENT_MAP = { const ELEMENT_MAP = {
Editor: <IdeEditor />, Editor: <LazyEditor />,
Viewer: <IdeViewer />, Viewer: <IdeViewer />,
Console: <IdeConsole />, Console: <IdeConsole />,
} }