"Quaere" 是一个 React 的原子化服务端状态管理库。

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

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

快速开始

import { query, useQuery } from "quaere";
 
const userQuery = query({ fether: () => fetch("/api/user") });
 
function Profile() {
  const { data, error, isLoading } = useQuery({
    query: userQuery,
  });
 
  if (error) return <div>failed to load</div>;
  if (isLoading) return <div>loading...</div>;
  return <div>hello {data.name}!</div>;
}

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