0d5bf65feb
This pull request completely replaces our old page loader with a brand new route loader. Our existing comprehensive test suite means I did not need to add a bunch of tests. I did add them where behavior was added or fixed. Summary of the changes: - Eagerly evaluates prefetched pages in browser idle time (speeds up transitions) - Router is **no longer frozen** indefinitely if the Build Manifest never arrives - Router is **no longer frozen** indefinitely if a page fails to bootstrap - New `withFuture` utility instead of ad-hoc deduping per resource - Prefetching is now delayed until browser idle time to not impact TTI - Browsers without `prefetch` now fall back to eager evaluation instead of using `preload` - We're now ready to serve non-static assets **with `no-store` without breaking prefetching** - **Application can now hydrate without fetching CSS assets—this is a huge performance win that was previously blocking hydration** --- The minor size increase here is unfortunate, but we have to incur it for correctness. --- Fixes #18389 Fixes #18642
17 lines
346 B
JavaScript
17 lines
346 B
JavaScript
import { useEffect, useState } from 'react'
|
|
import css from './index.module.css'
|
|
|
|
export default function Home() {
|
|
const [state, setState] = useState('')
|
|
useEffect(() => {
|
|
setState('mounted')
|
|
}, [])
|
|
return (
|
|
<main>
|
|
<h1 id="red-title" className={css.headerRed}>
|
|
Red
|
|
</h1>
|
|
<p>{state}</p>
|
|
</main>
|
|
)
|
|
}
|