[英]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.