Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么';react router和Next.js的区别是什么_Javascript_Reactjs_React Router_Next.js - Fatal编程技术网

Javascript 什么';react router和Next.js的区别是什么

Javascript 什么';react router和Next.js的区别是什么,javascript,reactjs,react-router,next.js,Javascript,Reactjs,React Router,Next.js,我现在正在演示ReactJS 我看到和 有谁能告诉我这两者的利弊。我不确定比较两者是否正确,但从我看到的情况来看,react路由器已经有了SSR功能。那么使用NextJS有什么好处呢 谢谢 Next.js(另请参见GatsbyJS和After.js等备选方案)是功能齐全的SSR/静态站点框架,因此如果需要生成SSR静态站点,您可以获得很多现成的功能。这些框架解决了很多问题,因此添加一个功能就变得像阅读文档一样简单,而不是自己研究和编码 如果您使用标准的React应用程序和React路由器编写自己

我现在正在演示ReactJS 我看到和

有谁能告诉我这两者的利弊。我不确定比较两者是否正确,但从我看到的情况来看,react路由器已经有了SSR功能。那么使用NextJS有什么好处呢

谢谢

Next.js(另请参见GatsbyJS和After.js等备选方案)是功能齐全的SSR/静态站点框架,因此如果需要生成SSR静态站点,您可以获得很多现成的功能。这些框架解决了很多问题,因此添加一个功能就变得像阅读文档一样简单,而不是自己研究和编码

如果您使用标准的React应用程序和React路由器编写自己的设置代码,那么当您深入研究SSR时,您可能会发现自己遇到许多复杂和边缘情况


简而言之,如果SSR是一个核心要求,肯定要考虑使用SSR反应框架。

< P> Jed的反应总结了很多,但这里有一些澄清:

  • React路由器允许SSR,但不实现它。您仍然需要制作一个服务器脚本,至少。您可能需要做其他事情,比如提供静态文件。NextJS会帮你做到这一点

  • SSR附带了NextJS也涵盖的一些注意事项,主要是初始异步函数(例如,从API获取)。在定制系统中,您必须确定应该调用哪些函数(通常基于路由),并将数据传递给组件


我目前正在使用这两个系统开发Web,两者都有一些优点和缺点。NextJS有一种特定的方式来声明路由,并且有一种非常不同的方式来通过它们,但是制作一个定制系统来处理NextJS涵盖的所有内容是非常困难的。除非真的需要,否则我不建议你自己制作所有东西,如果异步负载不是一个问题,也许可以检查像盖茨比这样的替代品

谢谢迭戈。你能解释一下“React Router不执行它”是什么意思吗?因为我可以在文档中看到这一点React Router允许路由器从服务器呈现它们的路由。您仍然需要创建一个服务器脚本,该脚本至少可以将应用程序呈现为字符串,并将其提供给客户端。您可能需要做其他事情,比如服务静态文件和一些服务器级路由处理(通常是API)。另一方面,NextJs则是开箱即用。这说明了吗?不客气。为了更清楚,我将在答案中添加解释。只是关于盖茨比的一个说明-它在构建SSR时处理加载数据,在组件装入浏览器后处理异步加载数据。很不错,如果你还没有看过的话就去看看。对我来说,它在功能和文档方面都比Next.js有优势。@JedRichards是的,目前寻找所有选项,认为盖茨比很好