Sync with react.dev @ 8efce785 - #620
Conversation
Co-authored-by: Daksh Dhami <hi@lucii.xyz>
Co-authored-by: Daksh Dhami <hi@lucii.xyz> Co-authored-by: Sebastian Sebbie Silbermann <sebastian.silbermann@vercel.com> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com> Co-authored-by: Sebastian "Sebbie" Silbermann <silbermann.sebastian@gmail.com>
…browser extension (#7726) * Rewrite React Developer Tools section in tutorial-tic-tac-toe CodeSandbox doesn't seem to support any platform React Developer Tools as is seen in tutorial. This section is rewritten to use the browser extension directly on the preview. * Fixed the preview URL to the codesandbox instance just before this section
* Clarify use vs await * Refine based on feedback * Address review comments
Co-authored-by: Tuna <tuna@MacBookPro.station>
…505) * [Suspense] Add 'What activates a Suspense boundary' section * [Suspense] Clarify image activation wording (review feedback) * Define "suspense-enabled-framework" * Update outdated framework-less data fetching note to reference use() * fix: clarify Suspense boundary activation and fallback behavior * Add code example * update styling * Cleanup caveat * add link to blogpost * Replace notes with link to suspense docs * Tweak caveat * Update caveat to clarify streaming behavior during server rendering * Address feedback * address feedback * Clarify documentation on Suspense-enabled frameworks * Update links and wording * Improve example * Clarify heading for Suspense-enabled frameworks section * Restructure page * Update to be docs compliant and clarify images * Address review feedback * Add more suspense examples * Add more examples * Clarify image loading behavior during <ViewTransition> updates in Suspense documentation * Enhance Suspense documentation with additional details on font and image loading during <ViewTransition> updates * Update * Enhance Suspense documentation with examples of stylesheet loading behavior and vanilla DOM comparison * agent review
* Polish Suspense activation examples - Move Canary badges into section headings and render them icon-only in the table of contents - Replace the image demo's text fallback with a profile skeleton - Add a combined example coordinating data, a stylesheet, a font, and an image behind one boundary, with a plain DOM comparison - Match skeleton dimensions to the revealed content * Make the combined example's data delay consistent between runs
* Tune Suspense demo heights, data delay, and DOM comparison wording * Make section openers stand alone and restore demo timing * Shrink image demo portraits so both cards fit without layout shift * Name the resources in the combined section opener * State the ViewTransition condition in the combined section opener * Align combined section opener with sibling sections * Frame font and image waiting as Suspense behavior gated on ViewTransition * Match the combined section opener to its sibling sections * Document the experimental defer prop * Reduce the combined example's data delay * tweak
* Add dynamic OG images for docs pages * Match OG card design to existing static images * Generate OG images statically at build time * Clean up orphaned lockfile entry * Show section label on OG cards and guard pages without a card * Center title and enlarge section label on OG cards
…Leadership Council, and refresh membership. Co-authored-by: Sebastian "Sebbie" Silbermann <silbermann.sebastian@gmail.com>
* Resize long og image text * address feedback
Please accept my changes for React Alicante and CityJS Athens
* Document browser-only rendering Add the Canary browser API reference, including optional lazy reasons, server bailout reporting, fatal and abort behavior, navigation entries, and onBrowserBailout options for every streaming, resume, and prerender API that supports it. * Polish browser API docs and add live example * Document browser with use and Suspense --------- Co-authored-by: Aurora Scharff <aurora.sofie@gmail.com>
* Clarify browser-only rendering guidance * Polish browser-only guidance wording * Use Canary markers in browser guidance * Present browser as a use resource * Polish browser usage labels * Address browser guidance review * Clarify browser return value is opaque * Restore alternative wording * Restore hydration alternative wording * Focus use introduction on resources * Note stable browser cleanup
* Pin matching React Canary versions in Sandpack demos * Use cached Canary build in Sandpack demos
* Improve browser-only rendering example * Clarify browser-only example action * Show browser-only fallback on reload
* Add conditional browser query example * Move browser query hook into its own example file * Use IndexedDB in conditional browser example * Clarify conditional browser rendering example * Polish browser rendering examples * Bridge conditional browser examples * Tighten conditional browser example intro * Use time zone for conditional browser example * Clarify conditional example transition * Lead conditional browser docs with time zone example * Address conditional browser rendering feedback * update * Clarify conditional browser control flow * Clarify conditional data fetching pattern * Clarify conditional rendering outcomes * Polish conditional browser examples * Clarify conditional query rendering * Align conditional browser guidance
…632) * Document missing Fizz server rendering options and fix resume references This adds the `formState`, `importMap`, `onHeaders`, and `maxHeadersLength` options to the `renderToPipeableStream` and `renderToReadableStream` reference pages, documents the object form of `nonce` for separate script and style nonces, and adds `importMap`, `onHeaders`, and `maxHeadersLength` to the `prerender` and `prerenderToNodeStream` pages. All of these options are supported in stable releases but were never documented. The `resumeAndPrerender` entries on the `react-dom/static` index were marked as experimental-only even though they ship in stable releases, so the badge is removed, and the `resumeAndPrerender` intro destructured a `postpone` property that is actually called `postponed`. The `resumeToPipeableStream` page no longer documents a `signal` option because the Node.js implementation neither types nor reads it, and it now documents the `onAllReady` callback that the implementation does support. The same page referred to `resume` in its intro and Returns section where it meant `resumeToPipeableStream`, and the `react-dom/server` index linked both resume entries to the `renderToPipeableStream` page; they now point at their own pages. Co-Authored-By: Claude Code (kimi-k3[1m]) <noreply@anthropic.com> * Document the formState option for hydrateRoot This adds the `formState` option to the `hydrateRoot` reference. The option carries the form state produced by a Server Function form submission so that `useActionState` with a `permalink` returns the submitted state during hydration instead of the initial state, and it must match the `formState` passed to the server renderer. The option shipped in React 19.0 but was never documented. --------- Co-authored-by: Claude Code (kimi-k3[1m]) <noreply@anthropic.com>
* Validate inline code highlights in docs * Match MDX code highlight metadata parsing
* Clarify standalone startTransition error handling * Polish startTransition error handling docs * Describe startTransition differences neutrally * Clarify startTransition callback wording * Remove repeated startTransition caveat * Preserve existing startTransition guidance * Preserve useTransition error guidance * Update src/content/reference/react/useTransition.md Co-authored-by: Sebastian "Sebbie" Silbermann <silbermann.sebastian@gmail.com> * Clarify standalone startTransition error reporting --------- Co-authored-by: Sebastian "Sebbie" Silbermann <silbermann.sebastian@gmail.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
Signed-off-by: Alessandro De Blasis <alex@deblasis.net> Co-authored-by: Cursor <cursoragent@cursor.com>
Size changesDetails📦 Next.js Bundle Analysis for react-devThis analysis was generated by the Next.js Bundle Analysis action. 🤖
|
| Page | Size (compressed) |
|---|---|
global |
115.15 KB (🟡 +7 B) |
Details
The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.
Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis
If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!
Five Pages Changed Size
The following pages changed size from the code in this PR compared to its base branch:
| Page | Size (compressed) | First Load |
|---|---|---|
/404 |
128.19 KB (🟡 +575 B) |
243.34 KB |
/500 |
128.2 KB (🟡 +575 B) |
243.35 KB |
/[[...markdownPath]] |
130.66 KB (🟡 +574 B) |
245.81 KB |
/errors |
128.45 KB (🟡 +575 B) |
243.6 KB |
/errors/[errorCode] |
128.42 KB (🟡 +575 B) |
243.57 KB |
Details
Only the gzipped size is provided here based on an expert tip.
First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.
Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis
Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 10% or more, there will be a red status indicator applied, indicating that special attention should be given to this.
This PR was automatically generated.
Merge changes from react.dev at 8efce78
The following files have conflicts and may need new translations:
Please fix the conflicts by pushing new commits to this pull request, either by editing the files directly on GitHub or by checking out this branch.
DO NOT SQUASH MERGE THIS PULL REQUEST!
Doing so will "erase" the commits from main and cause them to show up as conflicts the next time we merge.