react-router 和 Next.js 有什么不同

IT技术 javascript reactjs react-router next.js
2021-05-23 02:54:33

我目前正在探索 ReactJS 我看到了NextJSReact Router

谁能告诉我两者之间的优缺点。我不确定将两者进行比较是否正确,但据我所知,react-router 已经具有 SSR 功能。那么使用 NextJS 有什么好处呢?

谢谢!

2个回答

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

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

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

Jed 的回答概括了它,但这里有一些澄清:

  • React 路由器允许SSR,但没有实现它。您仍然需要制作一个服务器脚本,至少将应用程序呈现为字符串并将其提供给客户端您可能需要做其他事情,例如提供静态文件。NextJS 为你做这件事。

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

我目前正在使用这两种系统开发网络,两者都有一些优点和缺点。NextJS 有一种特定的方式来声明路由和一种非常不同的移动方式,但是制作一个自定义系统来处理 NextJS 涵盖的所有内容是相当的工作。除非真的需要,否则我不建议自己制作所有东西,如果不担心异步加载,可能会检查像 Gatsby 这样的替代品