React.js a-t-il un sens pour un site statique axé sur le contenu?


14

Je suis assez vendu sur le modèle react.js car il rend la manipulation DOM si fluide et compréhensible. Mais je me demande comment cela pourrait être exploité pour un site qui est en grande partie statique avec de gros blocs de texte et d'images qui ne bougent pas. Serait-ce juste un obstacle? Il semble gênant d'avoir des composants avec des Ko de texte dans leur état.


4
Vous avez un marteau et vous vous demandez si cette vis pourrait être utilisée comme clou. Normalement, les décisions liées à la technologie doivent être prises dans le sens «Nos exigences sont X, Y, Z. Quelles technologies nous permettront d'y arriver au moindre coût?», Pas «J'ai la solution, mais pourriez-vous s'il vous plaît donner moi un problème? ”. Le fait que vous ayez déjà de l'expérience avec React incline quelque peu la décision en sa faveur, mais à quelles exigences serait-elle satisfaite? Quelle valeur cela apporterait-il au client ou à l'utilisateur?
amon

4
Eh bien, c'est ce que j'essaie de déterminer. React est-il un marteau ou une boîte à outils? Il excelle certainement dans le type de cas d'utilisation de Facebook et je n'ai rien vu pour indiquer qu'il serait nul dans d'autres cas. C'est certainement moins convaincant, mais cela ne signifie pas que ce n'est pas parfaitement bien.
jiggy

1
J'ai en fait les mêmes questions. J'adore tout sur les composants React mais pour les sites axés sur le contenu avec seulement quelques lignes de javascript, il semble beaucoup se concentrer sur le couplage HTML-JS et davantage sur les états et les événements que sur HTML-CSS propre. J'adorerais quelque chose comme des composants React dans un autre langage de template.
JeroenVdb

Réponses:


10

Sachez ce que vous voulez faire, puis choisissez la technologie.

De ce point de vue, React.js semble exagéré pour un site Web essentiellement statique.

Du site Web de React:

Nous avons conçu React pour résoudre un problème: créer de grandes applications avec des données qui évoluent avec le temps.

React est un marteau pour un ongle spécifique. Cela indiquerait que cela entraverait la création d'un site Web essentiellement statique.


2

La génération de pages statiques est une utilisation prévue de React, comme mentionné dans la documentation de React.renderToStaticMarkup

Similaire à renderToString, sauf que cela ne crée pas d'attributs DOM supplémentaires tels data-react-idque React utilise en interne. Ceci est utile si vous souhaitez utiliser React comme un simple générateur de pages statiques, car supprimer les attributs supplémentaires peut économiser beaucoup d'octets.

Certains ont qualifié l'utilisation de réagir ici de manière excessive. Cependant, quand je veux quelque chose de mort, je n'ai aucun problème à le surpasser. Le fait que réagir puisse faire bien plus que ce qui est nécessaire pour ce cas d'utilisation n'est pas un argument contre la réaction.

Cependant, des problèmes peuvent survenir si vous souhaitez exécuter du code asynchrone. Imaginons ce qui suit:

function SchoolClass({classId}) {
   const students = await query("SELECT name FROM student WHERE class = ?", classId);
   return <ul>
      {_.map(students, ({name}) => <li>{name}</li>}
   </ul>
}

Mais cela ne fonctionnera pas, car la fonction renvoie une promesse, pas un élément React, et n'est donc pas compatible avec React. Si vous deviez concevoir un framework de générateur de site statique de style React, vous le permettriez probablement. Cependant, étant donné que React se concentre sur les clients Webapp, il n'est pas autorisé.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.