renderToStaticMarkup
renderToStaticMarkup, etkileşimli olmayan bir React ağacını HTML string’e dönüştürür.
const html = renderToStaticMarkup(reactNode, options?)Başvuru dokümanı
renderToStaticMarkup(reactNode, options?)
Sunucuda, uygulamanızı HTML’ye dönüştürmek için renderToStaticMarkup yöntemini çağırın.
import { renderToStaticMarkup } from 'react-dom/server';
const html = renderToStaticMarkup(<Page />);Bu, React bileşenlerinizin etkileşimli olmayan HTML çıktısını üretecektir.
Buradan daha fazla örnek görebilirsiniz.
Parametreler
reactNode: Bir JSX düğümü gibi HTML’ye dönüştürmek istediğiniz bir React düğümü. Örneğin, şöyle bir JSX düğümü<Page />.- isteğe bağlı
options: Sunucu renderı için bir obje.- isteğe bağlı
identifierPrefix:useIdtarafından oluşturulan kimlikler için React’in kullandığı string ön eki. Aynı sayfada birden fazla kök kullanırken çakışmaları önlemek için kullanışlıdır.
- isteğe bağlı
Dönüş Değeri
Bir HTML string’i.
Dikkat Edilmesi Gerekenler
-
renderToStaticMarkupçıktısı “hydrate” edilemez. -
renderToStaticMarkupsınırlı Suspense desteğine sahiptir. Bir bileşen askıya alındığında,renderToStaticMarkuphemen yedek olarak HTML gönderir. -
renderToStaticMarkuptarayıcıda çalışır, ancak istemci kodunda kullanılması önerilmez. Bir bileşeni tarayıcıda HTML’e dönüştürmeniz gerekiyorsa, HTML’yi bir DOM düğümüne render ederek alın.
Kullanım
Bir etkileşimli olmayan React ağacını HTML olarak string’e çevirme
Sunucu yanıtınızla birlikte gönderebileceğiniz bir HTML string’i olarak uygulamanızı renderToStaticMarkup ile HTML’ye dönüştürün:
import { renderToStaticMarkup } from 'react-dom/server';
// Rota işleyicisinin sözdizimi, kullandığınız arka uç çatısına bağlıdır
app.use('/', (request, response) => {
const html = renderToStaticMarkup(<Page />);
response.send(html);
});Bu, React bileşenlerinizin başlangıç olarak etkileşimsiz HTML çıktısını üretecektir.