import React, {Suspense, use} from 'react';
async function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
function Use({useable}) {
use(useable);
return null;
}
let delay1;
let delay2;
export default function NestedReveal({}) {
if (!delay1) {
delay1 = sleep(100);
delay2 = sleep(200);
}
return (
<div className="swipe-recognizer">
Shell
<Suspense fallback="Loading level 1">
<div>Level 1</div>
<Use useable={delay1} />
<Suspense fallback="Loading level 2">
<div>Level 2</div>
<Use useable={delay2} />
</Suspense>
</Suspense>
</div>
);
}