¿Tiene sentido reaccion.js para un sitio basado en contenido estático?

14

Estoy bastante vendido en el modelo react.js porque hace que la manipulación de DOM sea tan fácil y comprensible. Pero me pregunto cómo podría aprovecharse para un sitio que es en gran parte estático con grandes bloques de texto e imágenes que no se mueven. ¿Se interpondría en el camino? Parece incómodo tener componentes con KB de texto en su estado.

    
pregunta jiggy 14.02.2015 - 23:09

3 respuestas

9

Sepa lo que quiere hacer, luego elija la tecnología.

Desde ese punto de vista, React.js parece ser una exageración para una web mayoritariamente estática.

Desde el sitio web de React:

  

Creamos React para resolver un problema: crear aplicaciones grandes con datos que cambian con el tiempo.

React es un martillo para un clavo específico. Eso indicaría que obstaculizará la creación de un sitio web en su mayoría estático.

    
respondido por el Miyamoto Akira 16.02.2015 - 12:21
2

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.

    
respondido por el Winston Ewert 24.10.2016 - 23:36
-1

De manera similar, me he preguntado acerca de los sitios web controlados por contenido estático, y de la forma en que lo veo, una configuración con cierta promesa podría ser una aplicación Angular que ofrece contenido y aplicaciones React y componentes que controlan el flujo de usuarios (haga clic en eventos y similares) .

OMI, (y parece que estoy solo en esto) A React le está perdiendo una gran oportunidad con la capacidad de hacer cargas asíncronas como Angular, pero no hay nada que le impida utilizar los dos en tándem, o escribir una extensión.

    
respondido por el Tyler Gubala 24.10.2016 - 20:33

Lea otras preguntas en las etiquetas