La generación de páginas estáticas es un uso anticipado de React, como se menciona en la documentación para React.renderToStaticMarkup
Similar a renderToString
, excepto que esto no crea atributos DOM adicionales como data-react-id
, por ejemplo , que React usa internamente. Esto es útil si desea usar React como un simple generador de páginas estáticas, ya que eliminar los atributos adicionales puede ahorrar muchos bytes.
Algunos han llamado al uso de reaccionar aquí en exceso. Sin embargo, cuando quiero algo muerto, no tengo problemas para matarlo en exceso. El hecho de que reaccionar puede 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 código asincrónico. 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 un elemento Promise, no React, y por lo tanto no es compatible con React. Si estuviera ideando un marco generador de sitio estático al estilo React, probablemente lo permitiría. Sin embargo, dado que React se centra en clientes de aplicaciones web, no está permitido.