La generazione di pagine statiche è un uso anticipato di React, come menzionato nella documentazione di React.renderToStaticMarkup
Similar to renderToString
, except this doesn't create extra DOM
attributes such as data-react-id
, that React uses internally. This
is useful if you want to use React as a simple static page generator,
as stripping away the extra attributes can save lots of bytes.
Alcuni hanno definito l'uso di reagire qui eccessivo. Tuttavia, quando voglio qualcosa di morto, non ho alcun problema a sovraverlo. Il fatto che reagisca può fare molto più di quanto sia necessario per questo caso d'uso non è un argomento contro cui reagire.
Tuttavia, potrebbero sorgere problemi se si desidera eseguire codice asincrono. Immaginiamo quanto segue:
function SchoolClass({classId}) {
const students = await query("SELECT name FROM student WHERE class = ?", classId);
return <ul>
{_.map(students, ({name}) => <li>{name}</li>}
</ul>
}
Ma questo non funzionerà, perché la funzione restituisce un Promise, non un elemento React, e quindi non è compatibile con React. Se stavi inventando un framework di generatore di siti statici in stile React, probabilmente lo permetteresti. Tuttavia, dal momento che React è focalizzato sui client webapp, non è consentito.