javascript - next js 中的数据获取

next.js 中有很多方法可以从 apis 中获取数据。

getServerSideProps、getStaticPaths、getStaticProps、增量静态再生和客户端渲染。

如果我必须在任何状态更改时向后端发出请求,我可以使用除客户端渲染之外的其他数据获取方法吗?

我来自 React.js 后台,主要使用客户端渲染。

不同抓取方法的具体用例是什么?

我可以始终只使用客户端渲染吗?在 Next.js 中。

回答1

服务器端渲染有利于 SEO。您可以检查一下,如果您查看 react 应用程序的页面源代码,您将不会获得太多 HTML,这是 next.js 修复的问题。使用 getServerSidePropsgetStaticProps 您可以调用您的 API(例如 DB 后端)来获取您的数据并在服务器端呈现您的页面。现在,当您必须更新页面的状态时,您可以像往常一样简单地 fetch ,因为它无关紧要,因为它无论如何都是由某些操作触发的。

我也可以只在 next.js 中使用客户端渲染吗?

是的,您可以,但是您希望搜索引擎为您的网站编制索引和/或显示相关数据,例如评论和预览文本,对吗?

如果我必须在任何状态更改时向后端发出请求,我可以使用除客户端渲染之外的其他数据获取方法

当状态改变时,您将像在 react 中一样获取新信息。

GetServerSidePropsGetStaticProps 仅在用户访问页面(或重新加载等)时运行一次。您可以通过获取和更新状态来获取最新数据。

Next.js 远不止 react,它也可以用作后端,即创建用于将数据保存到 db、处理身份验证等的 API。解释这一切超出了这个答案的范围。至于何时使用您可以在 https://nextjs.org/docs/basic-features/data-fetching/overview 阅读更多信息或搜索它的信息,我相信 SO 对此有很多疑问。

您可能被迫使用 next.js 功能的一种情况是,当您想要使用未实现 CORS 的旧 API 时,您无法控制另一端的开发人员,因此您可以在 next.js 上创建 API您在 react 代码上获取的内容,例如:/getinfo。现在在您的后端编写代码来处理这个问题,这会将第三方 API 的结果委托给您,非常简洁

相似文章

最新文章