Statik sayfalar oluşturmak, aşağıdaki belgelerde belirtildiği gibi React'ın beklenen bir kullanımıdır. React.renderToStaticMarkup
Bunun renderToString
haricinde data-react-id
, React'in dahili olarak kullandığı gibi ekstra DOM özellikleri oluşturmaz . React'i basit bir statik sayfa oluşturucu olarak kullanmak istiyorsanız bu yararlıdır, çünkü ekstra nitelikleri çıkarmak çok fazla bayt kaydedebilir.
Bazıları burada aşırıya kaçma tepkisi kullanmayı ifade etmişlerdir. Ancak, bir şeyin ölmesini istediğimde, aşırıya kaçmakla ilgili bir sorunum yok. Reaksiyonun bu kullanım durumu için gerekenden çok daha fazlasını yapabilmesi, reaksiyona karşı bir argüman değildir.
Ancak, zaman uyumsuz kod gerçekleştirmek istiyorsanız sorunlar oluşabilir. Aşağıdakileri hayal edelim:
function SchoolClass({classId}) {
const students = await query("SELECT name FROM student WHERE class = ?", classId);
return <ul>
{_.map(students, ({name}) => <li>{name}</li>}
</ul>
}
Ancak bu işe yaramaz, çünkü işlev bir React öğesi değil bir Promise döndürür ve bu nedenle React ile uyumlu değildir. React tarzı bir statik site oluşturucu çerçevesi tasarlıyorsanız, buna izin vermiş olursunuz. Ancak, React webapp istemcilerine odaklandığından buna izin verilmez.