反应路由器和下一步有什么区别.js



我目前正在测试ReactJS我看到了NextJS和React Router

有人能告诉我这两者之间的利弊吗。我不确定将两者进行比较是否正确,但据我所见,react路由器已经具有SSR功能。那么使用NextJS有什么好处呢?

谢谢!

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

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

简而言之,如果SSR是一个核心需求,那么一定要考虑使用SSR React框架。

Jed的回复总结了很多,但这里有一些澄清:

  • React router允许SSR,但不实现它。您仍然需要制作一个服务器脚本,至少可以将应用程序渲染为字符串,并将其提供给客户端。您可能需要做其他事情,比如提供静态文件。NextJS为您做到这一点。

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

我目前正在使用这两个系统开发Web,两者都有一些优点和缺点。NextJS有一种特定的方法来声明路由,也有一种非常不同的方法来遍历路由,但要创建一个处理NextJS所涵盖的所有内容的自定义系统是相当困难的。我不建议你自己做所有的事情,除非真的需要,如果异步负载不是的问题,也许可以检查Gatsby之类的替代方案

最新更新