translate `renderToNodeStream` by Rekl0w · Pull Request #545 · reactjs/tr.react.dev

Expand Up @@ -4,13 +4,13 @@ title: renderToNodeStream
<Deprecated>
This API will be removed in a future major version of React. Use [`renderToPipeableStream`](/reference/react-dom/server/renderToPipeableStream) instead. Bu API, React'in gelecekteki bir ana sürümünde kaldırılacaktır. Bunun yerine [`renderToPipeableStream`](/reference/react-dom/server/renderToPipeableStream) kullanın.
</Deprecated>
<Intro>
`renderToNodeStream` renders a React tree to a [Node.js Readable Stream.](https://nodejs.org/api/stream.html#readable-streams) `renderToNodeStream` bir React ağacını bir [Node.js Okunabilir Akışı](https://nodejs.org/api/stream.html#readable-streams)'na dönüştürür.
```js const stream = renderToNodeStream(reactNode) Expand All @@ -22,11 +22,11 @@ const stream = renderToNodeStream(reactNode)
---
## Reference {/*reference*/} ## Başvuru dokümanı {/*reference*/}
### `renderToNodeStream(reactNode)` {/*rendertonodestream*/}
On the server, call `renderToNodeStream` to get a [Node.js Readable Stream](https://nodejs.org/api/stream.html#readable-streams) which you can pipe into the response. Sunucuda, yanıtı aktaracağınız bir [Node.js Okunabilir Akışı](https://nodejs.org/api/stream.html#readable-streams) elde etmek için `renderToNodeStream`'i çağırın.
```js import { renderToNodeStream } from 'react-dom/server'; Expand All @@ -35,45 +35,45 @@ const stream = renderToNodeStream(<App />); stream.pipe(response); ```
On the client, call [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) to make the server-generated HTML interactive. İstemci tarafında, sunucu tarafında oluşturulan HTML'i etkileşimli hale getirmek için [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) fonksiyonunu çağırın.
[See more examples below.](#usage) [Buradan daha fazla örnek görebilirsiniz.](#usage)
#### Parameters {/*parameters*/} #### Parametreler {/*parameters*/}
* `reactNode`: A React node you want to render to HTML. For example, a JSX element like `<App />`. * `reactNode`: HTML'e dönüştürmek istediğiniz bir React düğümü. Örneğin, `<App />` gibi bir JSX öğesi.
* **optional** `options`: An object for server render. * **optional** `identifierPrefix`: A string prefix React uses for IDs generated by [`useId`.](/reference/react/useId) Useful to avoid conflicts when using multiple roots on the same page. Must be the same prefix as passed to [`hydrateRoot`.](/reference/react-dom/client/hydrateRoot#parameters) * **isteğe bağlı** `options`: Sunucu renderı için bir obje. * **isteğe bağlı** `identifierPrefix`: [`useId`](/reference/react/useId) tarafından oluşturulan kimlikler için React'ın kullandığı string ön eki. Aynı sayfada birden çok kök kullanırken çakışmaları önlemek için kullanışlıdır. [`hydrateRoot`](/reference/react-dom/client/hydrateRoot#parameters)'e iletilen ön ek ile aynı olmalıdır.
#### Returns {/*returns*/} #### Dönüş değeri {/*returns*/}
A [Node.js Readable Stream](https://nodejs.org/api/stream.html#readable-streams) that outputs an HTML string. Bir HTML string'i üreten bir [Node.js Okunabilir Akışı.](https://nodejs.org/api/stream.html#readable-streams)
#### Caveats {/*caveats*/} #### Uyarılar {/*caveats*/}
* This method will wait for all [Suspense boundaries](/reference/react/Suspense) to complete before returning any output. * Bu yöntem, herhangi bir çıkış vermeden önce tüm [Suspense sınırlarının](/reference/react/Suspense) tamamlanmasını bekler.
* As of React 18, this method buffers all of its output, so it doesn't actually provide any streaming benefits. This is why it's recommended that you migrate to [`renderToPipeableStream`](/reference/react-dom/server/renderToPipeableStream) instead. * React 18'den itibaren bu yöntem, tüm çıktılarını arabelleğe alır, bu nedenle aslında hiçbir akış avantajı sağlamaz. Bu nedenle, bunun yerine [`renderToPipeableStream`](/reference/react-dom/server/renderToPipeableStream)'e geçmeniz önerilir.
* The returned stream is a byte stream encoded in utf-8. If you need a stream in another encoding, take a look at a project like [iconv-lite](https://www.npmjs.com/package/iconv-lite), which provides transform streams for transcoding text. * Dönen akış, utf-8 ile kodlanmış bir bayt akışıdır. Başka bir kodlama ile akışa ihtiyacınız varsa, [iconv-lite](https://www.npmjs.com/package/iconv-lite) gibi bir projeye bakabilirsiniz, bu projeler metin dönüştürme akışlarını sağlar.
---
## Usage {/*usage*/} ## Kullanım {/*usage*/}
### Rendering a React tree as HTML to a Node.js Readable Stream {/*rendering-a-react-tree-as-html-to-a-nodejs-readable-stream*/} ### Bir React ağacını HTML olarak bir Node.js Okunabilir Akışına dönüştürmek {/*rendering-a-react-tree-as-html-to-a-nodejs-readable-stream*/}
Call `renderToNodeStream` to get a [Node.js Readable Stream](https://nodejs.org/api/stream.html#readable-streams) which you can pipe to your server response: Sunucu yanıtınıza bağlayabileceğiniz [Node.js Okunabilir Akışını](https://nodejs.org/api/stream.html#readable-streams) almak için `renderToNodeStream`'i çağırın:
```js {5-6} import { renderToNodeStream } from 'react-dom/server';
// The route handler syntax depends on your backend framework // Rota işleyici sözdizimi arka uç çatınıza bağlı olarak değişir app.use('/', (request, response) => { const stream = renderToNodeStream(<App />); stream.pipe(response); }); ```
The stream will produce the initial non-interactive HTML output of your React components. On the client, you will need to call [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) to *hydrate* that server-generated HTML and make it interactive. Akış, React bileşenlerinizin başlangıçta etkileşimsiz HTML çıktısını üretecek. İstemci tarafında, bu sunucu tarafında oluşturulan HTML'i *hydrate* etmek ve etkileşimli hale getirmek için [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) yöntemini çağırmanız gerekecek.