ReactDOMServer

ReactDOMServer nesnesi, bileşenleri statik işaretlemeye dönüştürmenizi sağlar. Genellikle, bir Node sunucusunda kullanılır:

// ES modules
import ReactDOMServer from 'react-dom/server';
// CommonJS
var ReactDOMServer = require('react-dom/server');

Genel Bakış

Aşağıdaki metotlar hem sunucu hem de tarayıcı ortamlarında kullanılabilir:

Bu ilave metotlar yalnızca sunucuda kullanılabilen bir pakete (stream) bağlıdır ve tarayıcıda çalışmayacaktır.


Referans

renderToString()

ReactDOMServer.renderToString(element)

React öğesini başlangıç HTML’ine dönüştürün. React bir HTML stringi döndürür. Sunucuda HTML oluşturmak ve daha hızlı sayfa yüklemeleri için ilk istek üzerine işaretlemeyi göndermek ve arama motorlarının sayfalarınızı SEO amacıyla taramasını sağlamak için bu yöntemi kullanabilirsiniz.

Zaten sunucu tarafından oluşturulmuş işaretlemeye sahip olan bir birimde ReactDOM.hydrate()‘i çağırırsanız, gayet performanslı bir ilk yükleme deneyimine sahip olmanız için React bunu saklayıp, yalnızca olay yöneticilerini ekleyecektir.


renderToStaticMarkup()

ReactDOMServer.renderToStaticMarkup(element)

renderToString‘e benzer şekildedir. Farklı olarak, React’in data-reactroot gibi dahili olarak kullandığı fazladan DOM nitelikleri oluşturmaz. Bu, ekstra özellikleri bir kenara atarak biraz bayt kurtarabileceğiniz için, React’i basit bir statik sayfa oluşturucu olarak kullanmak isterseniz yararlıdır.

İşaretlemeyi etkileşimli hale getirmek için istemci tarafında React’i kullanmayı planlıyorsanız, bu yöntemi kullanmayın. Onun yerine, sunucuda renderToString ve istemcide ReactDOM.hydrate() kullanın.


renderToNodeStream()

ReactDOMServer.renderToNodeStream(element)

React öğesini başlangıç HTML’ine dönüştürün. React bir HTML string çıktısı veren bir Readable stream döndürür. Bu akışın HTML çıktısı ReactDOMServer.renderToString öğesinin döndüreceği değer ile tamamen aynıdır. Sunucuda HTML oluşturmak ve daha hızlı sayfa yüklemeleri için ilk istek üzerine işaretlemeyi göndermek ve arama motorlarının sayfalarınızı SEO amacıyla taramasını sağlamak için bu yöntemi kullanabilirsiniz.

Zaten sunucu tarafından oluşturulmuş işaretlemeye sahip olan bir birimde ReactDOM.hydrate()‘i çağırırsanız, gayet performanslı bir ilk yükleme deneyimine sahip olmanız için React bunu saklayıp, yalnızca olay yöneticilerini ekleyecektir.

Not:

Yalnızca sunucu için. Bu API tarayıcıda mevcut değildir.

Bu metot utf-8 ile kodlanmış bir bayt akışı (byte stream) döndürür. Başka bir kodlamadaki bir akışa ihtiyacınız varsa, kod dönüştürme metni için dönüştürme akışları (transform streams) sağlayan iconv-lite gibi bir projeye göz atın.


renderToStaticNodeStream()

ReactDOMServer.renderToStaticNodeStream(element)

renderToNodeStream‘e benzer şekildedir. Farklı olarak, React’in data-reactroot gibi dahili olarak kullandığı fazladan DOM nitelikleri oluşturmaz. Bu, ekstra özellikleri bir kenara atarak biraz bayt kurtarabileceğiniz için, React’i basit bir statik sayfa oluşturucu olarak kullanmak isterseniz yararlıdır.

Bu akışın HTML çıktısı ReactDOMServer.renderToStaticMarkup öğesinin döndüreceği değer ile tamamen aynıdır.

İşaretlemeyi etkileşimli hale getirmek için istemci tarafında React’i kullanmayı planlıyorsanız, bu yöntemi kullanmayın. Onun yerine, sunucuda renderToNodeStream ve istemcide ReactDOM.hydrate() kullanın.

Not:

Yalnızca sunucu için. Bu API tarayıcıda mevcut değildir.

Bu metot utf-8 ile kodlanmış bir bayt akışı (byte stream) döndürür. Başka bir kodlamadaki bir akışa ihtiyacınız varsa, kod dönüştürme metni için dönüştürme akışları (transform streams) sağlayan iconv-lite gibi bir projeye göz atın.