mirror of
https://github.com/zebrajr/react.git
synced 2025-12-06 00:20:04 +01:00
Before the first rAF, we don't know if there has been other paints before this and if so when. (We could get from performance observer.) We can assume that it's not earlier than 0 so we used delay up until the throttle time starting from zero but if the first paint is about to happen that can be very soon after. Instead, this reveals it during the next paint which should let us be able to get into the first paint. If we can trust `rel="expect"` to have done its thing we should schedule our raf before first paint but ofc browsers can cheat and paint earlier if they want to. If we're wrong, this is at least more batched than doing it synchronously. However it will mean that things might get more flashy than it should be if it would've been throttled. An alternative would be to always throttle first reveal. |
||
|---|---|---|
| .. | ||
| public | ||
| server | ||
| src | ||
| package.json | ||
| README.md | ||
| yarn.lock | ||
SSR Fixtures
A set of test cases for quickly identifying issues with server-side rendering.
Setup
To reference a local build of React, first run npm run build at the root
of the React project. Then:
cd fixtures/ssr
yarn
yarn start
The start command runs a webpack dev server and a server-side rendering server in development mode with hot reloading.
Note: whenever you make changes to React and rebuild it, you need to re-run yarn in this folder:
yarn
If you want to try the production mode instead run:
yarn start:prod
This will pre-build all static resources and then start a server-side rendering HTTP server that hosts the React app and service the static resources (without hot reloading).