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