簡體   English   中英

我可以在 getStaticProps 中使用 UseEffect 掛鈎嗎?

[英]Can I use the UseEffect hook inside getStaticProps?

我有疑問..我可以在 getStaticProps 中使用 useEffect 嗎?

我正在嘗試在 getStaticProps 中運行 function ......它可以工作......但我不知道這是否是推薦的做法。

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

如果不是...運行它的最佳方法是什么?

useEffect用於在客戶端掛載組件時以及特定變量發生變化時執行代碼。

getStaticProps僅在服務器端和構建時運行一次。 您可以將代碼直接放在 function 的主體中。

無論如何,如果您這樣做,您將遇到此錯誤:

錯誤:無效的掛鈎調用。 鈎子只能在 function 組件的主體內部調用。

在 next.js 中,數據是在服務器上獲取的。 這是服務器端渲染的關鍵方面。 服務器端渲染的主要目的是發送填充頁面,以便瀏覽器爬蟲可以分析響應頁面,這有助於更好地為您的頁面進行 seo。 當客戶端發出請求時,在發送響應之前,next.js 會運行 getStaticProps 或 getServerSideProps。

但是useEffect在客戶端運行。 useEffect的目的是在組件掛載之前獲取數據,以便您可以在組件內部使用該數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM