我可以在getStaticProps中使用UseEffect钩子吗?



我有一个疑问。我可以在getStaticProps中使用useEffect吗?

我试图在getStaticProps中运行一个函数…它的工作原理。但我不知道这是不是一件值得做的事。

useEffect(() => {
remarkBody()
}, [body, blogPostCollection])

如果不是…最好的运行方式是什么?

useEffect用于在客户端挂载组件或特定变量发生变化时执行代码。

getStaticProps仅在服务器端和构建时运行一次。您可以将代码直接放在函数体中。

无论如何,如果你这样做了,你会得到这个错误:

错误:无效钩子调用。钩子只能在函数组件的内部调用。

next.js中的数据是从服务器上获取的。这是服务器端呈现的关键方面。服务器端呈现的主要目的是发送填充的页面,这样浏览器爬虫就可以分析响应页面,这有助于更好地优化您的页面。当客户端发出请求时,在发送响应之前,next.js会运行getStaticProps或getServerSideProps。

然而useEffect运行在客户端。useEffect的目的是在组件挂载之前获取数据,以便您可以在组件内部使用该数据。

最新更新