web-dev-qa-db-fra.com

Quelle est la différence entre react-router et Next.js

j'expanse actuellement ReactJS que j'ai vu NextJS et React Router

Quelqu'un peut-il me dire quels sont les inconvénients entre les deux? Je ne sais pas s'il est juste de comparer les deux, mais d'après ce que je vois, react-router a déjà une fonction SSR. Quel est donc l'avantage d'utiliser NextJS?

Merci!

8
MisterCat

Next.js (voir aussi les alternatives comme GatsbyJS et After.js) sont des frameworks de sites statiques/SSR complets, donc vous obtenez beaucoup de fonctionnalités prêtes à l'emploi si vous devez générer un site statique SSR. Ces cadres ont résolu de nombreux problèmes, donc l'ajout d'une fonctionnalité devient aussi simple que la lecture des documents, plutôt que de rechercher et de coder vous-même.

Si vous codez votre propre configuration avec une application React et un routeur de réaction standard), vous risquez de vous retrouver confronté à une grande complexité et à des cas Edge lorsque vous creusez dans SSR.

En bref, si la SSR est une exigence de base, pensez à utiliser un framework SSR React.

10
Jed Richards

La réponse de Jed résume assez bien, mais voici quelques clarifications:

  • Le routeur React autorise la SSR, mais ne l'implémente pas. Vous devez toujours créer un script de serveur qui, au moins, rend l'application à une chaîne et la sert au client . Vous devrez peut-être faire d'autres choses, comme servir des fichiers statiques. NextJS le fait pour vous.

  • SSR est livré avec quelques mises en garde que NextJS couvre également, principalement les fonctions asynchrones initiales (récupère à partir des API, par exemple). Dans un système sur mesure, vous devrez déterminer les fonctions que vous devez appeler, généralement en fonction de l'itinéraire, et transmettre les données aux composants, généralement avec Redux

Je travaille actuellement sur des sites Web avec les deux systèmes, et ils ont tous les deux des avantages et des inconvénients. tout le travail. Je ne recommanderais pas de tout faire vous-même à moins que ce ne soit vraiment nécessaire, et peut-être vérifier des alternatives comme Gatsby si les charges asynchrones ne sont pas un problème

7
Diego Nosi