客戶端資料獲取
當您的頁面不需要 SEO 索引、不需要預先渲染資料,或是頁面內容需要頻繁更新時,客戶端資料獲取就非常有用。與伺服器端渲染 API 不同,您可以在元件層級使用客戶端資料獲取。
如果在頁面層級進行,資料會在運行時獲取,頁面內容會隨著資料變化而更新。如果在元件層級使用,資料會在元件掛載時獲取,元件內容會隨著資料變化而更新。
需要注意的是,使用客戶端資料獲取可能會影響應用程式的效能和頁面載入速度。這是因為資料獲取是在元件或頁面掛載時進行的,而且資料不會被快取。
使用 useEffect 進行客戶端資料獲取
以下範例展示如何使用 useEffect Hook 在客戶端獲取資料。
使用 SWR 進行客戶端資料獲取
Next.js 團隊開發了一個名為 SWR 的 React Hook 資料獲取函式庫。如果您需要在客戶端獲取資料,強烈推薦使用這個函式庫。它能處理快取、重新驗證、焦點追蹤、定時重新獲取等功能。
使用與上述相同的範例,我們現在可以用 SWR 來獲取個人資料。SWR 會自動為我們快取資料,並在資料過期時重新驗證。
如需更多關於 SWR 的使用資訊,請查閱 SWR 文件。