我基本上是在為一年中即將發生的事件構建一個日歷,每個事件都像一篇博客文章,有自己的縮略圖和頁面。一個非常簡單的 CMS 設定。
我正在使用 FaunaDB 并在 getStaticProps() 中獲取。
然后,我使用組件邏輯將事件分解為幾個月的塊,并一次渲染一個月,無限滾動會在您向下滾動時重新渲染并添加更多月份。
如果我最終在日歷中有數百個事件,它會導致 getStaticProps 減慢或中斷嗎?
這是處理大量資料的最佳做法嗎?
在 getStaticProps 中一次獲取多少資料太多?
我知道我可以構建組件來向我的資料庫發出頻繁的客戶端獲取請求——但這肯定會破壞使用 Next.js 的意義,(另外我需要 getStaticPaths() 來為每個事件生成頁面。
附帶說明一下,將有 POST 路由添加一個新的日歷事件并觸發重建——next.js 是從頭開始構建整個站點,還是它足夠聰明,只構建新的日歷事件。
謝謝!
uj5u.com熱心網友回復:
如果我最終在日歷中有數百個事件,它會導致 getStaticProps 減慢或中斷嗎?
百萬事件?當然,它會的。我建議使用可擴展的方法。您可能會獲得數百條記錄,但當您獲得數百萬條記錄時,您最終將不得不采取一些措施。
這是處理大量資料的最佳做法嗎?
不,通常您不需要getStaticPaths. 您應該只為初始渲染獲取足夠的資料getStaticPaths,并在需要時在客戶端重新獲取更多資料。在您的情況下,您不需要獲取getStaticPaths. 您可以在 中獲取本月(可能是上個月和下個月)的getStaticPaths事件,并在用戶移動到其他月份時重新獲取更多事件(想想 Google 日歷)。
在 getStaticProps 中一次獲取多少資料太多?
這取決于。當你注意到某件事很慢時,這是一個很好的跡象,表明它太多了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/476442.html
標籤:反应 数据库 下一个.js 内容管理系统 获取 API
下一篇:將資料框的值更改為列名并為其賦值
