SWR

SWR (stale-while-revalidate) 是一种由 HTTP RFC 5861 推广的 HTTP缓存失效策略。这种策略会优先从缓存中获取数据,同时发出 AJAX 重新验证请求,最后得到最新的数据。在 React 中使用 SWR 可以使组件不断地、自动的获得最新的数据流,而 UI 也会一直保持快速响应。

根据 SWR 官网的列举,SWR 能够在以下功能领域提供优秀的体验。

  • 快速页面导航。
  • 定时轮询。
  • 数据依赖。
  • 在组件被 Focus 时的重新验证。
  • 网络恢复时的重新验证。
  • 本地缓存更新。
  • 智能出错重试。
  • 分页和滚动位置恢复。

SWR 在 React DOM 和 React Native 中都可以使用,并且提供了 Typescript 的支持,在对于进行 AJAX 访问所使用的第三方库并不限制,可以自由选择 Axios 或者 fetch 。

要在项目中使用 SWR ,可以通过以下命令来安装。

npm install swr
yarn add swr