diff --git a/.github/workflows/discord_notify.yml b/.github/workflows/discord_notify.yml
index ff2caa1bf..9d83081cc 100644
--- a/.github/workflows/discord_notify.yml
+++ b/.github/workflows/discord_notify.yml
@@ -2,11 +2,18 @@ name: Discord Notify
on:
pull_request_target:
- types: [ labeled ]
+ types: [labeled]
jobs:
+ check_maintainer:
+ uses: facebook/react/.github/workflows/shared_check_maintainer.yml@main
+ with:
+ actor: ${{ github.event.pull_request.user.login }}
+ is_remote: true
+
notify:
- if: ${{ github.event.label.name == 'React Core Team' }}
+ if: ${{ needs.check_maintainer.outputs.is_core_team == 'true' }}
+ needs: check_maintainer
runs-on: ubuntu-latest
steps:
- name: Discord Webhook Action
@@ -18,4 +25,4 @@ jobs:
embed-author-icon-url: ${{ github.event.pull_request.user.avatar_url }}
embed-title: '#${{ github.event.number }} (+${{github.event.pull_request.additions}} -${{github.event.pull_request.deletions}}): ${{ github.event.pull_request.title }}'
embed-description: ${{ github.event.pull_request.body }}
- embed-url: ${{ github.event.pull_request.html_url }}
\ No newline at end of file
+ embed-url: ${{ github.event.pull_request.html_url }}
diff --git a/.github/workflows/label_core_team_prs.yml b/.github/workflows/label_core_team_prs.yml
new file mode 100644
index 000000000..3d9fa2be1
--- /dev/null
+++ b/.github/workflows/label_core_team_prs.yml
@@ -0,0 +1,32 @@
+name: Label Core Team PRs
+
+on:
+ pull_request_target:
+
+env:
+ TZ: /usr/share/zoneinfo/America/Los_Angeles
+ # https://github.com/actions/cache/blob/main/tips-and-workarounds.md#cache-segment-restore-timeout
+ SEGMENT_DOWNLOAD_TIMEOUT_MINS: 1
+
+jobs:
+ check_maintainer:
+ uses: facebook/react/.github/workflows/shared_check_maintainer.yml@main
+ with:
+ actor: ${{ github.event.pull_request.user.login }}
+ is_remote: true
+
+ label:
+ if: ${{ needs.check_maintainer.outputs.is_core_team == 'true' }}
+ runs-on: ubuntu-latest
+ needs: check_maintainer
+ steps:
+ - name: Label PR as React Core Team
+ uses: actions/github-script@v7
+ with:
+ script: |
+ github.rest.issues.addLabels({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ issue_number: ${{ github.event.number }},
+ labels: ['React Core Team']
+ });
diff --git a/package.json b/package.json
index 07e6136e6..6d6b53f92 100644
--- a/package.json
+++ b/package.json
@@ -24,8 +24,8 @@
},
"dependencies": {
"@codesandbox/sandpack-react": "2.13.5",
- "@docsearch/css": "^3.6.1",
- "@docsearch/react": "^3.6.1",
+ "@docsearch/css": "^3.8.3",
+ "@docsearch/react": "^3.8.3",
"@headlessui/react": "^1.7.0",
"@radix-ui/react-context-menu": "^2.1.5",
"body-scroll-lock": "^3.1.3",
diff --git a/public/images/team/andrey-lunyov.jpg b/public/images/team/andrey-lunyov.jpg
deleted file mode 100644
index aeaaec06a..000000000
Binary files a/public/images/team/andrey-lunyov.jpg and /dev/null differ
diff --git a/public/images/team/hendrik.jpg b/public/images/team/hendrik.jpg
new file mode 100644
index 000000000..b39ea5be2
Binary files /dev/null and b/public/images/team/hendrik.jpg differ
diff --git a/public/images/team/jordan.jpg b/public/images/team/jordan.jpg
new file mode 100644
index 000000000..d8874a29f
Binary files /dev/null and b/public/images/team/jordan.jpg differ
diff --git a/public/images/team/kathryn-middleton.jpg b/public/images/team/kathryn-middleton.jpg
deleted file mode 100644
index 904c3b134..000000000
Binary files a/public/images/team/kathryn-middleton.jpg and /dev/null differ
diff --git a/public/images/team/lauren.jpg b/public/images/team/lauren.jpg
index 26d46bd2f..a8615aa00 100644
Binary files a/public/images/team/lauren.jpg and b/public/images/team/lauren.jpg differ
diff --git a/public/images/team/luna-wei.jpg b/public/images/team/luna-wei.jpg
deleted file mode 100644
index cdc4a2b6a..000000000
Binary files a/public/images/team/luna-wei.jpg and /dev/null differ
diff --git a/public/images/team/mike.jpg b/public/images/team/mike.jpg
new file mode 100644
index 000000000..39fe23fea
Binary files /dev/null and b/public/images/team/mike.jpg differ
diff --git a/public/images/team/noahlemen.jpg b/public/images/team/noahlemen.jpg
deleted file mode 100644
index e3f788d89..000000000
Binary files a/public/images/team/noahlemen.jpg and /dev/null differ
diff --git a/public/images/team/pieter.jpg b/public/images/team/pieter.jpg
new file mode 100644
index 000000000..d098e5abe
Binary files /dev/null and b/public/images/team/pieter.jpg differ
diff --git a/public/images/team/sam.jpg b/public/images/team/sam.jpg
deleted file mode 100644
index f73474b91..000000000
Binary files a/public/images/team/sam.jpg and /dev/null differ
diff --git a/public/images/team/sathya.jpg b/public/images/team/sathya.jpg
deleted file mode 100644
index 0f087f4a3..000000000
Binary files a/public/images/team/sathya.jpg and /dev/null differ
diff --git a/public/images/team/tianyu.jpg b/public/images/team/tianyu.jpg
deleted file mode 100644
index aeb6ed9fa..000000000
Binary files a/public/images/team/tianyu.jpg and /dev/null differ
diff --git a/src/components/MDX/TeamMember.tsx b/src/components/MDX/TeamMember.tsx
index a49aa728e..2c2fffa73 100644
--- a/src/components/MDX/TeamMember.tsx
+++ b/src/components/MDX/TeamMember.tsx
@@ -3,7 +3,7 @@
*/
import * as React from 'react';
-import Image from 'next/image';
+import Image from 'next/legacy/image';
import {IconTwitter} from '../Icon/IconTwitter';
import {IconThreads} from '../Icon/IconThreads';
import {IconBsky} from '../Icon/IconBsky';
diff --git a/src/content/blog/2024/12/05/react-19.md b/src/content/blog/2024/12/05/react-19.md
index 62a6ce464..aac80a44f 100644
--- a/src/content/blog/2024/12/05/react-19.md
+++ b/src/content/blog/2024/12/05/react-19.md
@@ -294,7 +294,7 @@ A component was suspended by an uncached promise. Creating promises inside a Cli
-To fix, you need to pass a promise from a suspense powered library or framework that supports caching for promises. In the future we plan to ship features to make it easier to cache promises in render.
+To fix, you need to pass a promise from a Suspense powered library or framework that supports caching for promises. In the future we plan to ship features to make it easier to cache promises in render.
diff --git a/src/content/community/acknowledgements.md b/src/content/community/acknowledgements.md
index 642853976..7f0de80d2 100644
--- a/src/content/community/acknowledgements.md
+++ b/src/content/community/acknowledgements.md
@@ -36,6 +36,8 @@ Nos gustaría reconocer a algunas personas que han hecho contribuciones signific
* [Joe Critchley](https://github.com/joecritch)
* [Jeff Morrison](https://github.com/jeffmo)
* [Luna Ruan](https://github.com/lunaruan)
+* [Luna Wei](https://github.com/lunaleaps)
+* [Noah Lemen](https://github.com/noahlemen)
* [Kathryn Middleton](https://github.com/kmiddleton14)
* [Keyan Zhang](https://github.com/keyz)
* [Marco Salazar](https://github.com/salazarm)
@@ -51,9 +53,10 @@ Nos gustaría reconocer a algunas personas que han hecho contribuciones signific
* [Samuel Susla](https://github.com/sammy-SC)
* [Sander Spies](https://github.com/sanderspies)
* [Sasha Aickin](https://github.com/aickin)
-* [Sean Keegan](https://github.com/seanryankeegan)
+* [Sathya Gunasekaran](https://github.com/gsathya)
* [Sophia Shoemaker](https://github.com/mrscobbler)
* [Sunil Pai](https://github.com/threepointone)
+* [Tianyu Yao](https://github.com/)
* [Tim Yung](https://github.com/yungsters)
* [Xuan Huang](https://github.com/huxpro)
diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md
index 6d84dfe3f..dd9dd2510 100644
--- a/src/content/community/conferences.md
+++ b/src/content/community/conferences.md
@@ -11,15 +11,30 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c
## Upcoming Conferences {/*upcoming-conferences*/}
### React Paris 2025 {/*react-paris-2025*/}
-March 20 - 21, 2024. In-person in Paris, France (hybrid event)
+March 20 - 21, 2025. In-person in Paris, France (hybrid event)
[Website](https://react.paris/) - [Twitter](https://x.com/BeJS_)
+### React Native Connection 2025 {/*react-native-connection-2025*/}
+April 3 (Reanimated Training) + April 4 (Conference), 2025. Paris, France.
+
+[Website](https://reactnativeconnection.io/) - [X](https://x.com/reactnativeconn) - [Bluesky](https://bsky.app/profile/reactnativeconnect.bsky.social)
+
+### CityJS London 2025 {/*cityjs-london*/}
+April 23 - 25, 2025. In-person in London, UK
+
+[Website](https://london.cityjsconf.org/) - [Twitter](https://x.com/cityjsconf) - [Bluesky](https://bsky.app/profile/cityjsconf.bsky.social)
+
### App.js Conf 2025 {/*appjs-conf-2025*/}
May 28 - 30, 2025. In-person in Kraków, Poland + remote
[Website](https://appjs.co) - [Twitter](https://twitter.com/appjsconf)
+### CityJS Athens 2025 {/*cityjs-athens*/}
+May 27 - 31, 2025. In-person in Athens, Greece
+
+[Website](https://athens.cityjsconf.org/) - [Twitter](https://x.com/cityjsconf) - [Bluesky](https://bsky.app/profile/cityjsconf.bsky.social)
+
### React Summit 2025 {/*react-summit-2025*/}
June 13 - 17, 2025. In-person in Amsterdam, Netherlands + remote (hybrid event)
diff --git a/src/content/community/team.md b/src/content/community/team.md
index 5000ece89..15677232c 100644
--- a/src/content/community/team.md
+++ b/src/content/community/team.md
@@ -22,12 +22,25 @@ Engineer at Meta
Dan comenzó a programar después de que accidentalmente descubrió Visual Basic dentro de Microsoft PowerPoint. Ha encontrado su verdadera vocación al convertir los tweets de [Sebastian](#sebastian-markbåge) en extensas publicaciones de blog. Dan gana ocasionalmente en Fortnite escondiéndose en un arbusto hasta que termina el juego.
+<<<<<<< HEAD
Eli se metió en la programación después de que lo suspendieran de la escuela secundaria por piratear. Lleva trabajando en React y React Native desde 2017. Le gusta comer cosas ricas, especialmente helado y tarta de manzana. Puedes encontrar a Eli probando actividades extravagantes como parkour, paracaidismo en interiores y acrobacia en tela.
Poco después de aprender AutoHotkey, Jack empezó a escribir scripts para automatizar todo lo que se le pasara por la mente. Cuando alcanzó limitaciones allí, se sumergió de lleno en el desarrollo de aplicaciones web y no ha mirado hacia atrás. Más recientemente, Jack trabajó en la plataforma web de Instagram antes de pasar a React. Su lenguaje de programación favorito es JSX.
+=======
+
+ Eli got into programming after he got suspended from middle school for hacking. He has been working on React and React Native since 2017. He enjoys eating treats, especially ice cream and apple pie. You can find Eli trying quirky activities like parkour, indoor skydiving, and aerial silks.
+
+
+
+ Hendrik’s journey in tech started in the late 90s when he built his first websites with Netscape Communicator. After earning a diploma in computer science and working at digital agencies, he built a React Server Components bundler and library, paving the way to his role on the Next.js team. Outside of work, he enjoys cycling and tinkering in his workshop.
+
+
+
+ Shortly after being introduced to AutoHotkey, Jack had written scripts to automate everything he could think of. When reaching limitations there, he dove headfirst into web app development and hasn't looked back. Most recently, Jack worked on the web platform at Instagram before moving to React. His favorite programming language is JSX.
+>>>>>>> 91614a51a1be9078777bc337ba83fc62e606cc14
@@ -38,14 +51,24 @@ Engineer at Meta
Joe planeaba especializarse en matemáticas y filosofía, pero se metió en la informática después de escribir simulaciones de física en Matlab. Antes de React, trabajó en Relay, RSocket.js y el lenguaje de programación Skip. Cuando no está construyendo algún tipo de sistema reactivo, le gusta correr, estudiar japonés y pasar tiempo con su familia.
+<<<<<<< HEAD
Josh se especializó en Matemáticas y descubrió la programación en la universidad. Su primer trabajo como desarrollador profesional fue programar cálculos de tarifas de seguros en Microsoft Excel, el parangón de la Programación Reactiva, que debe ser la razón por la que ahora trabaja en React. En el medio de ese tiempo Josh ha sido un IC, Gerente y Ejecutivo en algunas nuevas empresas. fuera del trabajo le gusta empujar sus límites con la cocina.
+=======
+
+ Jordan started coding by building iPhone apps, where he was pushing and popping view controllers before he knew that for-loops were a thing. He enjoys working on technology that developers love, which naturally drew him to React. Outside of work he enjoys reading, kiteboarding, and playing guitar.
+
+
+
+ Josh majored in Mathematics and discovered programming while in college. His first professional developer job was to program insurance rate calculations in Microsoft Excel, the paragon of Reactive Programming which must be why he now works on React. In between that time Josh has been an IC, Manager, and Executive at a few startups. outside of work he likes to push his limits with cooking.
+>>>>>>> 91614a51a1be9078777bc337ba83fc62e606cc14
La carrera de programadora de Lauren alcanzó su punto máximo cuando descubrió la etiqueta `
+<<<<<<< HEAD
Luna aprendió por primera vez los fundamentos de python a la edad de 6 años de la mano de su padre. Desde entonces, ha sido imparable. Luna aspira a ser una generación z, y el camino hacia el éxito está pavimentado con la defensa del medio ambiente, la jardinería urbana y mucho tiempo de calidad con su Voo-Doo'd (como en la foto).
@@ -60,6 +83,22 @@ Engineer at Meta
El interés de Noah en la programación de interfaces de usuario se despertó durante su educación en tecnología musical en la Universidad de Nueva York. En Meta, ha trabajando en herramientas internas, navegadores, rendimiento web y actualmente está concentrado en React. Fuera del trabajo, puedes encontrar a Noah jugando con sintetizadores o pasando el tiempo con su gato.
+=======
+
+ Matt stumbled into coding, and since then, has become enamored with creating things in communities that can’t be created alone. Prior to React, he worked on YouTube, the Google Assistant, Fuchsia, and Google Cloud AI and Evernote. When he's not trying to make better developer tools he enjoys the mountains, jazz, and spending time with his family.
+
+
+
+ Mike went to grad school dreaming of becoming a professor but realized that he liked building things a lot more than writing grant applications. Mike joined Meta to work on Javascript infrastructure, which ultimately led him to work on the React Compiler. When not hacking on either Javascript or OCaml, Mike can often be found hiking or skiing in the Pacific Northwest.
+
+
+
+ Mofei started programming when she realized it can help her cheat in video games. She focused on operating systems in undergrad / grad school, but now finds herself happily tinkering on React. Outside of work, she enjoys debugging bouldering problems and planning her next backpacking trip(s).
+
+
+
+ Pieter studied building science but after failing to get a job he made himself a website and things escalated from there. At Meta, he enjoys working on performance, languages and now React. When he's not programming you can find him off-road in the mountains.
+>>>>>>> 91614a51a1be9078777bc337ba83fc62e606cc14
@@ -70,12 +109,17 @@ Engineer at Meta
Ruslan's introduction to UI programming started when he was a kid by manually editing HTML templates for his custom gaming forums. Somehow, he ended up majoring in Computer Science. He enjoys music, games, and memes. Mostly memes.
+<<<<<<< HEAD
Sathya odiaba el Libro del Dragón en la escuela, pero de alguna manera terminó trabajando en compiladores toda su carrera. Cuando no está compilando componentes de React, está bebiendo café o comiendo otra Dosa.
Sebastian se especializó en psicología. Suele ser callado. Incluso, cuando dice algo, a menudo no tiene sentido para el resto de nosotros hasta unos meses después. La forma correcta de pronunciar su apellido es "mark-boa-geh", pero se ha decantado por "mark-beige" por pragmatismo, y así es como se acerca a React.
+=======
+
+ Sebastian majored in psychology. He's usually quiet. Even when he says something, it often doesn't make sense to the rest of us until a few months later. The correct way to pronounce his surname is "mark-boa-geh" but he settled for "mark-beige" out of pragmatism -- and that's how he approaches React.
+>>>>>>> 91614a51a1be9078777bc337ba83fc62e606cc14
@@ -90,12 +134,17 @@ Engineer at Meta
Cuatro días después del lanzamiento de React, Sophie reescribió la totalidad de su proyecto actual para utilizarlo, lo que ahora se da cuenta de que quizás fue un poco imprudente. Después de convertirse en la principal responsable del proyecto, se preguntó por qué Facebook no le pagaba como a los demás y se unió oficialmente al equipo para dirigir React durante sus años de adolescencia. Aunque dejó el trabajo hace años, sigue participando en los chats de grupo del equipo y "aportando valor".
+<<<<<<< HEAD
El interés de Tianyu por las computadoras empezó de niño porque le encantan los videojuegos. Por eso se especializó en informática y sigue jugando a juegos infantiles como League of Legends. Cuando no está delante de una computadora, le gusta jugar con sus dos gatitos, hacer senderismo y navegar en kayak.
Yuzhi estudió Ciencias de la Computación en la escuela. Le gustaba la gratificación instantánea de ver cómo el código cobraba vida sin tener que estar físicamente en un laboratorio. Ahora es gerente en React org. Antes de ser gerente, trabajaba en el framework de obtención de datos Relay. En su tiempo libre, Yuzhi disfruta optimizando su vida mediante proyectos de jardinería y mejoras del hogar.
+=======
+
+ Yuzhi studied Computer Science in school. She liked the instant gratification of seeing code come to life without having to physically be in a laboratory. Now she’s a manager in the React org. Before management, she used to work on the Relay data fetching framework. In her spare time, Yuzhi enjoys optimizing her life via gardening and home improvement projects.
+>>>>>>> 91614a51a1be9078777bc337ba83fc62e606cc14
## Colaboradores anteriores {/*past-contributors*/}
diff --git a/src/content/community/versioning-policy.md b/src/content/community/versioning-policy.md
index 13a5d1a5e..32830d1c0 100644
--- a/src/content/community/versioning-policy.md
+++ b/src/content/community/versioning-policy.md
@@ -8,7 +8,11 @@ Todas las compilaciones estables de React pasan por un alto nivel de pruebas y s
+<<<<<<< HEAD
Para una lista de versiones anteriores consulta la página de [Versiones](/versions).
+=======
+This versioning policy describes our approach to version numbers for packages such as `react` and `react-dom`. For a list of previous releases, see the [Versions](/versions) page.
+>>>>>>> 91614a51a1be9078777bc337ba83fc62e606cc14
## Lanzamientos estables {/*stable-releases*/}
@@ -24,7 +28,13 @@ Las versiones mayores también pueden contener nuevas funcionalidades, y cualqui
Las versiones menores son el tipo de versión más común.
+<<<<<<< HEAD
### Cambios importantes {/*breaking-changes*/}
+=======
+We know our users continue to use old versions of React in production. If we learn of a security vulnerability in React, we release a backported fix for all major versions that are affected by the vulnerability.
+
+### Breaking changes {/*breaking-changes*/}
+>>>>>>> 91614a51a1be9078777bc337ba83fc62e606cc14
Los cambios importantes son inconvenientes para todos, por lo que intentamos minimizar el número de versiones mayores; por ejemplo, React 15 fue lanzado en abril de 2016 y React 16 fue lanzado en septiembre de 2017, y React 17 fue lanzado en octubre de 2020.
diff --git a/src/content/learn/add-react-to-an-existing-project.md b/src/content/learn/add-react-to-an-existing-project.md
index b79523265..94fff9d97 100644
--- a/src/content/learn/add-react-to-an-existing-project.md
+++ b/src/content/learn/add-react-to-an-existing-project.md
@@ -45,7 +45,11 @@ Un entorno de JavaScript modular te permite escribir tus componentes React en ar
* **Si tu aplicación ya está dividida en archivos que utilizan la sintaxis `import`,** prueba a utilizar tu configuración existente. Comprueba si escribir `` en tu código JS causa un error de sintaxis. Si causa un error de sintaxis, es posible que necesites [transformar tu código JavaScript con Babel](https://babeljs.io/setup), y habilitar el [_preset_ de Babel React](https://babeljs.io/docs/babel-preset-react) para utilizar JSX.
+<<<<<<< HEAD
* **Si tu aplicación no tiene una configuración existente para compilar módulos JavaScript,** configurarlo con [Vite](https://es.vitejs.dev/). La comunidad de Vite mantienen [varias integraciones con *frameworks* de backend](https://github.com/vitejs/awesome-vite#integrations-with-backends), incluyendo Rails, Django y Laravel. Si tu *framework* de backend no aparece en la lista, [sigue esta guía](https://es.vitejs.dev/guide/backend-integration.html) para integrar la compilación con Vite con tu backend de forma manual.
+=======
+* **If your app doesn't have an existing setup for compiling JavaScript modules,** set it up with [Vite](https://vite.dev/). The Vite community maintains [many integrations with backend frameworks](https://github.com/vitejs/awesome-vite#integrations-with-backends), including Rails, Django, and Laravel. If your backend framework is not listed, [follow this guide](https://vite.dev/guide/backend-integration.html) to manually integrate Vite builds with your backend.
+>>>>>>> 91614a51a1be9078777bc337ba83fc62e606cc14
Para comprobar que tu configuración funciona, lanza el siguiente comando en el directorio de tu proyecto:
@@ -85,7 +89,11 @@ Si el contenido completo de tu página fue reemplazado por un "¡Hola, mundo!",
+<<<<<<< HEAD
Integrar un entorno de JavaScript modular en un proyecto existente por primera vez puede ser intimidante, ¡pero vale la pena! Si te quedas atascado, prueba nuestros [recursos de la comunidad](/community) o el [Vite Chat](https://chat.vitejs.dev/).
+=======
+Integrating a modular JavaScript environment into an existing project for the first time can feel intimidating, but it's worth it! If you get stuck, try our [community resources](/community) or the [Vite Chat](https://chat.vite.dev/).
+>>>>>>> 91614a51a1be9078777bc337ba83fc62e606cc14
diff --git a/src/content/learn/start-a-new-react-project.md b/src/content/learn/start-a-new-react-project.md
index 5764fa28b..9c5b87db5 100644
--- a/src/content/learn/start-a-new-react-project.md
+++ b/src/content/learn/start-a-new-react-project.md
@@ -27,7 +27,11 @@ Incluso si no necesitas enrutamiento u obtención de datos al principio, es prob
**Los frameworks de React en esta página resuelven problemas como estos de forma predeterminada, sin trabajo adicional de tu parte.** Te permiten comenzar de manera muy sencilla y luego escalar tu aplicación según tus necesidades. Cada framework de React tiene una comunidad, por lo que es más fácil encontrar respuestas a las preguntas y actualizar las herramientas. Los frameworks también brindan estructura a tu código, ayudándote a ti y a otros a retener el contexto y las habilidades entre diferentes proyectos. Por el contrario, con una configuración personalizada es más fácil quedarte atascado en versiones de dependencia no admitidas, y esencialmente terminarás creando tu propio framework, aunque uno sin comunidad o ruta de actualización (y si es algo como los que hemos hecho en el pasado, diseñado al azar).
+<<<<<<< HEAD
Si tu aplicación tiene restricciones inusuales que estos frameworks no cumplen bien o prefieres resolver estos problemas tú mismo, puedes implementar tu propia configuración personalizada con React. Toma `react` y `react-dom` de npm, configura tu proceso de compilación personalizado con un paquete como [Vite](https://es.vitejs.dev/) o [Parcel](https://parceljs.org/) y agrega otras herramientas a medida que las necesites para el enrutamiento, la generación estática o el renderizado del lado del servidor, y más.
+=======
+If your app has unusual constraints not served well by these frameworks, or you prefer to solve these problems yourself, you can roll your own custom setup with React. Grab `react` and `react-dom` from npm, set up your custom build process with a bundler like [Vite](https://vite.dev/) or [Parcel](https://parceljs.org/), and add other tools as you need them for routing, static generation or server-side rendering, and more.
+>>>>>>> 91614a51a1be9078777bc337ba83fc62e606cc14
diff --git a/src/content/reference/react-dom/static/prerender.md b/src/content/reference/react-dom/static/prerender.md
index 198faea64..6450e4a34 100644
--- a/src/content/reference/react-dom/static/prerender.md
+++ b/src/content/reference/react-dom/static/prerender.md
@@ -230,7 +230,7 @@ async function renderToString() {
bootstrapScripts: ['/main.js']
});
- const reader = stream.getReader();
+ const reader = prelude.getReader();
let content = '';
while (true) {
const {done, value} = await reader.read();
@@ -291,7 +291,7 @@ Suspense-enabled data fetching without the use of an opinionated framework is no
### My stream doesn't start until the entire app is rendered {/*my-stream-doesnt-start-until-the-entire-app-is-rendered*/}
-The `prerender` response waits for the entire app to finish rendering, including waiting for all suspense boundaries to resolve, before resolving. It is designed for static site generation (SSG) ahead of time and does not support streaming more content as it loads.
+The `prerender` response waits for the entire app to finish rendering, including waiting for all Suspense boundaries to resolve, before resolving. It is designed for static site generation (SSG) ahead of time and does not support streaming more content as it loads.
To stream content as it loads, use a streaming server render API like [renderToReadableStream](/reference/react-dom/server/renderToReadableStream).
\ No newline at end of file
diff --git a/src/content/reference/react-dom/static/prerenderToNodeStream.md b/src/content/reference/react-dom/static/prerenderToNodeStream.md
index 039987497..eb12f4b38 100644
--- a/src/content/reference/react-dom/static/prerenderToNodeStream.md
+++ b/src/content/reference/react-dom/static/prerenderToNodeStream.md
@@ -289,7 +289,7 @@ Suspense-enabled data fetching without the use of an opinionated framework is no
### My stream doesn't start until the entire app is rendered {/*my-stream-doesnt-start-until-the-entire-app-is-rendered*/}
-The `prerenderToNodeStream` response waits for the entire app to finish rendering, including waiting for all suspense boundaries to resolve, before resolving. It is designed for static site generation (SSG) ahead of time and does not support streaming more content as it loads.
+The `prerenderToNodeStream` response waits for the entire app to finish rendering, including waiting for all Suspense boundaries to resolve, before resolving. It is designed for static site generation (SSG) ahead of time and does not support streaming more content as it loads.
To stream content as it loads, use a streaming server render API like [renderToPipeableStream](/reference/react-dom/server/renderToPipeableStream).
diff --git a/src/content/reference/react/useActionState.md b/src/content/reference/react/useActionState.md
index a6905cec2..f83f6bdc7 100644
--- a/src/content/reference/react/useActionState.md
+++ b/src/content/reference/react/useActionState.md
@@ -68,7 +68,7 @@ If used with a Server Function, `useActionState` allows the server's response fr
`useActionState` returns an array with the following values:
1. The current state. During the first render, it will match the `initialState` you have passed. After the action is invoked, it will match the value returned by the action.
-2. A new action that you can pass as the `action` prop to your `form` component or `formAction` prop to any `button` component within the form.
+2. A new action that you can pass as the `action` prop to your `form` component or `formAction` prop to any `button` component within the form. The action can also be called manually within [`startTransition`](/reference/react/startTransition).
3. The `isPending` flag that tells you whether there is a pending Transition.
#### Caveats {/*caveats*/}
@@ -102,8 +102,8 @@ function MyComponent() {
`useActionState` returns an array with the following items:
1. The current state of the form, which is initially set to the initial state you provided, and after the form is submitted is set to the return value of the action you provided.
-2. A new action that you pass to `