From 38acabfa6089ab8ac469c12b5f55022fb96935e5 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 23 Aug 2021 16:46:06 -0300 Subject: added web vendors --- preact/demo/nested-suspense/index.js | 69 ++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 preact/demo/nested-suspense/index.js (limited to 'preact/demo/nested-suspense/index.js') diff --git a/preact/demo/nested-suspense/index.js b/preact/demo/nested-suspense/index.js new file mode 100644 index 0000000..6c525b3 --- /dev/null +++ b/preact/demo/nested-suspense/index.js @@ -0,0 +1,69 @@ +import { createElement, Suspense, lazy, Component } from 'react'; + +const Loading = function() { + return
Loading...
; +}; +const Error = function({ resetState }) { + return ( +
+ Error!  + + Reset app + +
+ ); +}; + +const pause = timeout => + new Promise(d => setTimeout(d, timeout), console.log(timeout)); + +const DropZone = lazy(() => + pause(Math.random() * 1000).then(() => import('./dropzone.js')) +); +const Editor = lazy(() => + pause(Math.random() * 1000).then(() => import('./editor.js')) +); +const AddNewComponent = lazy(() => + pause(Math.random() * 1000).then(() => import('./addnewcomponent.js')) +); +const GenerateComponents = lazy(() => + pause(Math.random() * 1000).then(() => import('./component-container.js')) +); + +export default class App extends Component { + state = { hasError: false }; + + static getDerivedStateFromError(error) { + // Update state so the next render will show the fallback UI. + console.warn(error); + return { hasError: true }; + } + + render() { + return this.state.hasError ? ( + this.setState({ hasError: false })} /> + ) : ( + }> + + +
+ }> + + + +
+ +
+ + +
+ ); + } +} -- cgit v1.2.3