Skip to content

liaoliao666/quaere-site

Repository files navigation

介绍

"Quaere" 是拉丁语中的一个词,与 query 语义相似。

Quaere 的核心实现来自于 Tanstack Query,但去除了 queryKey 概念,API 设计类似于 Jotai,提供了一套声明式的、原子化的状态管理方案,帮助你高效地管理服务端状态。

类型安全地管理异步状态,并立即拥有以下特性:

  • 极速轻量可重用的 数据请求
  • 内置 缓存 和重复请求去除
  • 实时 体验
  • 传输和协议不可知
  • 支持 SSR / ISR / SSG
  • 支持 TypeScript
  • React Native

Quaere 涵盖了性能,正确性和稳定性的各个方面,以帮你建立更好的体验:

  • 快速页面导航
  • 间隔轮询
  • 数据依赖
  • 聚焦时重新验证
  • 网络恢复时重新验证
  • 本地缓存更新 (Optimistic UI)
  • 智能错误重试
  • 分页和滚动位置恢复
  • React Suspense

以及 更多



Quick Start

下面是一个最基本的示例:

import { query } from "quaere";

const anQuery = query({
  fether: (variables) => axios.get(url, variables),
});
import { useQuery } from "quaere";

function Example() {
  const { data } = useQuery({ query: anQuery, variables });
}

上面的示例展示了 Quaere 的两个核心函数:

  • query:用于创建一个异步资源解析配置,我们称其为 "查询配置"。

  • useQuery:该 hook 用于读取 "查询配置" 发起请求,并且每个不同 variables 都会返回与其相应的服务端状态。

该示例中,query 接受一个函数 fetcherfetcher 可以是任何返回数据的异步函数,你可以使用原生的 fetch 或 Axios 之类的工具。


查看完整的文档和示例,请访问 quaere-site.vercel.app.


License

The MIT License.