我目前正在使用ReactJS 我看到了NextJS和React Router
谁能告诉我两者之间的利弊是什么。我不确定比较这两者是否正确,但是从我看来,react-router已经具有SSR功能。那么使用NextJS有什么好处?
谢谢!
答案 0 :(得分:5)
Next.js(另请参见GatsbyJS和After.js之类的替代品)是功能齐全的SSR /静态网站框架,因此,如果需要生成SSR静态网站,则可以立即使用很多功能。这些框架解决了许多问题,因此添加功能变得像阅读文档一样简单,而不是自己研究和编码。
如果您使用标准的React应用和react-router编写自己的设置,那么当您深入研究SSR时可能会遇到很多复杂性和极端情况。
简而言之,如果SSR是核心要求,则一定要考虑使用SSR React框架。
答案 1 :(得分:3)
Jed的回答概括了很多,但是这里有一些澄清:
反应路由器允许,但未实现。您仍然需要制作至少为renders the app to a string and serve that to the client的服务器脚本。您可能需要做其他事情,例如提供静态文件。 NextJS为您做到了。
SSR附带了一些要点,NextJS也涵盖了这些要点,主要是初始异步功能(例如,从API提取)。在定制系统中,通常必须基于路由来确定应调用的函数,并将数据传递给组件usually with Redux
我目前正在同时使用这两种系统的Web上,并且都有各自的优缺点.NextJS有一种声明路由的特定方法以及一种遍历路由的非常不同的方法,但是制作了一个自定义系统来处理所有NextJS涵盖了相当多的工作。我不建议您自己动手制作所有东西,除非确实需要,如果不担心异步负载,也许可以检查Gatsby之类的替代产品