Matt Carroll

@mattcarrollcode.com

React at Meta https://mattcarrollcode.com

Happy to announce Parcel v2.14, now with support for React Server Components! 🥳 RSCs can be integrated into client-rendered apps, server rendered, or statically rendered at build time. Also: rust MDX compiler, create-parcel CLI, new error overlay, and native import maps. parceljs.org/blog/v2-14-0

Screenshot of code sample:

$ parcel server.tsx

// server.tsx
import express from 'express';
import {renderRequest} from '@parcel/rsc/node';
import {Page} from './Page';

const app = express();
app.get('/', async (req, res) => {
  await renderRequest(req, res, <Page />);
});

app.listen(3000);

// Page.tsx
"use server-entry";
export function Page() {
  return (
    <html>
      <body>
        <h1>Hello world!</h1>
		<Client />
      </body>
    </html>
  );
}

react.dev is designed for folks who are new to React or are learning basic React concepts. While we'd love to have docs for more advanced users of React (e.g. libraries, frameworks, build tools, etc.) we don't have the resources to make that happen today.

A new React 19 feature that might have gone unnoticed: ReactDOMStatic.prerender(<App />) It's like the old renderToString API, but unlike renderToString, prerender will wait for Suspense boundaries to finish before returning the HTML.

Screenshot of react.dev page for ReactDOM prerender API. Included the title text "prerender renders a React tree to a static HTML string using a Web Stream." and an outline with sections for Reference, Usage, and Troubleshooting

a lot of the re-render "fixes" people are sharing have no perceivable impact other than seeing less of the highlights flashing