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
Reactjs 我可以在getStaticProps中使用UseEffect挂钩吗?_Reactjs_React Hooks_Next.js_Use Effect_Getstaticprops - Fatal编程技术网

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

Reactjs 我可以在getStaticProps中使用UseEffect挂钩吗?,reactjs,react-hooks,next.js,use-effect,getstaticprops,Reactjs,React Hooks,Next.js,Use Effect,Getstaticprops,我有一个疑问。。我可以在getStaticProps中使用useEffect吗 我试图在getStaticProps中运行一个函数。。。它起作用了。。但我不知道这是否是推荐的做法 useEffect(() => { remarkBody() }, [body, blogPostCollection]) 如果不是。。。运行它的最佳方式是什么?useffect用于在客户端安装组件时以及特定变量更改时执行代码 getStaticProps仅在服务器端和构建时运行一次。您可以直接

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

我试图在getStaticProps中运行一个函数。。。它起作用了。。但我不知道这是否是推荐的做法

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

如果不是。。。运行它的最佳方式是什么?

useffect
用于在客户端安装组件时以及特定变量更改时执行代码

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

无论如何,如果您这样做,您将出现以下错误:

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


useffect
用于在客户端安装组件时以及特定变量更改时执行代码

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

无论如何,如果您这样做,您将出现以下错误:

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


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


但是,
useffect
在客户端运行。
useffect
的目的是在安装组件之前获取数据,以便您可以在组件内部使用该数据。在next.js中,数据是在服务器上获取的。这是服务器端渲染的关键方面。服务器端呈现的主要目的是发送填充的页面,因此浏览器爬虫可以分析响应页面,这有助于更好地搜索引擎优化您的页面。当客户端发出请求时,在发送响应之前,next.js会运行getStaticProps或getServerSideProps

但是,
useffect
在客户端运行。
useffect
的目的是在安装组件之前获取数据,以便您可以在组件内部使用该数据