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包装名称!
麻省理工学院许可证。