reactjs / reactjs/react.dev

react-dom/server: clarify when `renderToPipeableStream` is appropriate

Ouverte
#4,510 0 commentaires 2 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
JavaScript
Étoiles
11.8k
Forks
7.9k
Merge moyen
1 j 11 h
PR mergées (30 j)
11

Description

At https://reactjs.org/docs/react-dom-server.html#rendertopipeablestream we see this note:

This is a Node.js specific API and modern server environments should use renderToReadableStream instead.

I initially read this as saying "use renderToReadableStream in any environment where web streams are available." This includes modern versions of Node: https://nodejs.org/api/webstreams.html.

But going to the main React 18 release notes page https://reactjs.org/blog/2022/03/29/react-v18.html#react-dom-server, we see that there is a different distinction being made.

renderToPipeableStream: for streaming in Node environments.
renderToReadableStream: for modern edge runtime environments, such as Deno and Cloudflare workers.

(Aside: is Deno really an "edge runtime environment"? 🤔 )

Combined with @sebmarkbage's outlining of the downsides of web streams here https://github.com/reactwg/react-18/discussions/91, it seems clear that renderToPipeableStream should always be preferred in Node environments. It'd be nice if the docs clearly spelled this out.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par la documentation liée de renderToPipeableStream et comparez sa formulation avec les notes de version de React 18 et la discussion liée sur les web streams. Clarifiez la distinction entre les environnements Node et les edge runtimes, et vérifiez que la note révisée n’implique plus que les versions modernes de Node devraient utiliser renderToReadableStream.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript, react
Domaine
documentation
Type d'issue
Documentation
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
58/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.