swr
v2.3.0
SWR是用於數據獲取的React Hooks庫。
名稱“ swr ”源自stale-while-revalidate一種由HTTP RFC 5861普及的緩存無效策略。 SWR首先返回來自Cache(Stale)的數據,然後發送請求(Revalidate),最後再次帶有最新數據。
只需一個鉤子,您就可以顯著簡化項目中的數據獲取邏輯。它還涵蓋了速度,正確性和穩定性的各個方面,以幫助您建立更好的體驗:
...還有更多。
使用SWR,組件將不斷地自動獲得一系列數據更新。因此,UI將永遠是快速和反應性的。
在swr.vercel.app上查看完整的文檔和示例。
import useSWR from 'swr'
function Profile ( ) {
const { data , error , isLoading } = useSWR ( '/api/user' , fetcher )
if ( error ) return < div > failed to load </ div >
if ( isLoading ) return < div > loading... </ div >
return < div > hello { data . name } ! </ div >
}在此示例中,React Hook useSWR接受key和fetcher函數。 key是請求的唯一標識符,通常是API的URL。 fetcher接受key作為其參數,並異步返回數據。
useSWR還返回3個值: data , isLoading和error 。當請求(Fetcher)尚未完成時, data將是undefined ,並且isLoading將是true 。當我們得到響應時,它會根據fetcher的結果設置data和error , isLoading為false,然後重新註冊組件。
請注意, fetcher可以是任何異步功能,您可以使用自己喜歡的數據提取庫來處理該部分。
在swr.vercel.app上查看完整的文檔和示例。
該圖書館是由Next.js背後的團隊創建的,我們的社區貢獻:
貢獻者
感謝Ryan Chen提供了很棒的swr NPM包裝名稱!
麻省理工學院許可證。