Deprecated

こ�? API は、将ζ₯οΏ½? React οΏ½?γƒ‘γ‚Έγƒ£γƒΌγƒγƒΌγ‚Έγƒ§γƒ³γ§ε‰Šι™€γ•γ‚ŒγΎγ™γ€‚δ»£γ‚γ‚Šγ« renderToPipeableStream を使用してください。

renderToNodeStream は、React οΏ½?ツγƒͺγƒΌγ‚’ Node.js οΏ½? Readable γ‚Ήγƒˆγƒͺームにレンダーします。

const stream = renderToNodeStream(reactNode)

γƒͺフゑレンス

renderToNodeStream(reactNode)

γ‚΅γƒΌγƒδΈŠγ«γŠγ„γ¦γ€renderToNodeStream γ‚’ε‘Όγ³ε‡Ίγ—γ¦γ€γƒ¬γ‚Ήγƒγƒ³γ‚Ήγ«γƒ‘γ‚€γƒ—γ™γ‚‹γ“γ¨γŒγ§γγ‚‹ Node.js οΏ½? Readable γ‚Ήγƒˆγƒͺームを取得します。

import { renderToNodeStream } from 'react-dom/server';

const stream = renderToNodeStream(<App />);
stream.pipe(response);

γ‚―γƒ©γ‚€γ‚’γƒ³γƒˆε΄γ§γ―γ€γ“οΏ½?γ‚ˆγ†γ«γ‚΅γƒΌγƒη”Ÿζˆγ•γ‚ŒγŸ HTML γ‚’ζ“δ½œε―θƒ½γ«γ™γ‚‹γŸγ‚γ« hydrateRoot を用います。

さらに例を見る

εΌ•ζ•°

  • reactNode: HTML γ«γƒ¬γƒ³γƒ€γƒΌγ—γŸγ„ React γƒŽγƒΌγƒ‰γ€‚δΎ‹γˆγ°γ€<App /> οΏ½?γ‚ˆγ†γͺ JSX 要素。

θΏ”γ‚Šε€€

HTML ζ–‡ε­—εˆ—γ‚’ε‡ΊεŠ›γ™γ‚‹ Node.js οΏ½? Readable γ‚Ήγƒˆγƒͺーム。

注意点

  • こ�?パソッドは、すべて�?γ‚΅γ‚Ήγƒšγƒ³γ‚Ήγƒγ‚¦γƒ³γƒ€γƒͺが�?οΏ½δΊ†γ™γ‚‹γΎγ§γ€ε‡ΊεŠ›γ‚’θΏ”γ•γšεΎ…ζ©Ÿγ—γΎγ™γ€‚

  • React 18 ζ™‚η‚Ήγ«γŠγ„γ¦γ€γ“οΏ½?パソッドはすべて�?ε‡ΊεŠ›γ‚’γƒγƒƒγƒ•γ‚‘γƒͺγƒ³γ‚°γ™γ‚‹γŸγ‚γ€οΏ½?οΏ½ιš›γ«γ―γ‚ΉγƒˆγƒͺγƒΌγƒ γ‚’δ½Ώη”¨γ™γ‚‹εˆ©η‚ΉγŒεΎ—γ‚‰γ‚ŒγΎγ›γ‚“γ€‚γ“γ‚ŒγŒγ€δ»£γ‚γ‚Šγ« renderToPipeableStream γ«η§»θ‘Œγ™γ‚‹γ“γ¨γŒζŽ¨ε₯¨γ•γ‚Œγ‚‹η†η”±γ§γ™γ€‚

  • θΏ”γ•γ‚Œγ‚‹γ‚Ήγƒˆγƒͺームは、utf-8 γ§γ‚¨γƒ³γ‚³γƒΌγƒ‰γ•γ‚ŒγŸγƒγ‚€γƒˆγ‚Ήγƒˆγƒͺームです。εˆ₯οΏ½?エンコーディング�?γ‚ΉγƒˆγƒͺγƒΌγƒ γŒεΏ…θ¦γͺε ΄εˆγ―γ€γƒ†γ‚­γ‚ΉγƒˆοΏ½?γƒˆγƒ©γƒ³γ‚Ήγ‚³γƒΌγƒ‡γ‚£γƒ³γ‚°η”¨οΏ½?ε€‰ζ›γ‚Ήγƒˆγƒͺームを提供する iconv-lite οΏ½?γ‚ˆγ†γͺγƒ—γƒ­γ‚Έγ‚§γ‚―γƒˆγ‚’ε‚η…§γ—γ¦γγ γ•γ„γ€‚


使用法

React ツγƒͺγƒΌγ‚’ HTML として Node.js οΏ½? Readable γ‚Ήγƒˆγƒͺームにレンダーする

renderToNodeStream を呼び出して、ァーバから�?レスポンスにパむプできる Node.js οΏ½? Readable γ‚Ήγƒˆγƒͺームを取得します。

import { renderToNodeStream } from 'react-dom/server';

// The route handler syntax depends on your backend framework
app.use('/', (request, response) => {
const stream = renderToNodeStream(<App />);
stream.pipe(response);
});

こ�?γ‚Ήγƒˆγƒͺームは、React γ‚³γƒ³γƒγƒΌγƒγƒ³γƒˆοΏ½?ιžγ‚€γƒ³γ‚Ώγƒ©γ‚―γƒ†γ‚£γƒ–γͺ初期 HTML ε‡ΊεŠ›γ‚’η”Ÿζˆγ—γΎγ™γ€‚γ‚―γƒ©γ‚€γ‚’γƒ³γƒˆε΄γ§γ―γ€γ‚΅γƒΌγƒγŒη”Ÿζˆγ—γŸ HTML οΏ½?γƒγ‚€γƒ‰γƒ¬γƒΌγ‚·γƒ§γƒ³γ‚’θ‘Œγ„ζ“δ½œε―θƒ½γ«γ™γ‚‹γŸγ‚γ«γ€hydrateRoot γ‚’ε‘Όγ³ε‡Ίγ™εΏ…θ¦γŒγ‚γ‚ŠγΎγ™γ€‚