SWR(stale-while-revalidate): 一种 http 缓存失效策略。首先从缓存中返回数据(过期的), 同时发送 fetch 请求(重新验证), 最后得到最新数据。
概览
import useSWR from 'swr';function Profile() {const {data, error} = useSWR('/api/user', fetcher);if (error) return (<div>failed to load </div>);if (!data) return (<div>loading</div>);return (<div>data</div>)}
useSWR hook 接受一个字符串 key 和一个函数 fetcher。key 是数据的唯一标识符(通常是 API URL),并传递给 fetcher。fetcher 可以是任何返回数据的异步函数,你可以使用原生的 fetch 或 Axios 之类的工具。
基于请求的状态,这个 hook 返回 2 个值:data 和 error。
