La generación de páginas estáticas es un uso anticipado de React, como se menciona en la documentación de React.renderToStaticMarkup
Similar a renderToString
, excepto que esto no crea DOM extra
atributos como data-react-id
, que React usa internamente. Esta
es útil si desea utilizar React como un simple generador de páginas estáticas,
Al eliminar los atributos adicionales, se pueden ahorrar muchos bytes.
Algunos han llamado al uso de reaccionar aquí de manera excesiva. Sin embargo, cuando quiero algo muerto, no tengo ningún problema en sobrepasarlo. El hecho de que reaccionar pueda hacer mucho más de lo necesario para este caso de uso no es un argumento en contra de reaccionar.
Sin embargo, pueden surgir problemas si desea realizar un código asíncrono. Imaginemos lo siguiente:
function SchoolClass({classId}) {
const students = await query("SELECT name FROM student WHERE class = ?", classId);
return <ul>
{_.map(students, ({name}) => <li>{name}</li>}
</ul>
}
Pero esto no funcionará, porque la función devuelve una Promesa, no un elemento React, y por lo tanto no es compatible con React. Si estuviera diseñando un marco generador de sitio estático de estilo React, probablemente lo permitiría. Sin embargo, dado que React se enfoca en clientes de aplicaciones web, no está permitido.