Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
194 changes: 194 additions & 0 deletions docs/community-resources.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,194 @@
---
title: Community Resources
articles:
[
{
title: "TkDodo's Blog Posts",
url: 'https://tkdodo.eu/blog/practical-react-query',
description: 'TkDodo, a maintainer of TanStack Query, writes a series of blog posts about the library. These articles offer general best practices and often present opinionated perspectives on using TanStack Query.',
},
]
media:
[
{
title: 'React Query: It’s Time to Break up with your Global State! – Tanner Linsley',
url: 'https://www.youtube.com/watch?v=seU46c6Jz7E',
description: 'Get the lowdown on “global state” and how React Query can help you fetch, cache and manage your asynchronous data with a fraction of the effort and code that you’re used to',
},
{
title: 'All About React Query (with Tanner Linsley) — Learn With Jason',
url: 'https://www.youtube.com/watch?v=DocXo3gqGdI',
description: 'Learn all about React Query with its creator Tanner Linsley.',
},
{
title: 'Hooks for Fetching with ReactQuery Creator Tanner Linsley aka @tannerlinsley',
url: 'https://www.youtube.com/watch?v=PPvWXbSCtBU',
description: 'Learn how React Query simplifies asynchronous data fetching in React applications.',
},
{
title: 'React Query - Open Source Friday stream with Tanner Linsley from',
url: 'https://www.youtube.com/watch?v=B3cJDT3j19I',
description: 'An Open Source Friday stream featuring Tanner Linsley.',
},
{
title: 'React Query Presentation - Tanner Linsley',
url: 'https://www.youtube.com/watch?v=_ehibado6rU',
description: 'Tanner Linsley gives a talk to Lambda School students about the React Query.',
},
{
title: 'TanStack Query v4 (with Dominik Dorfmeister) — Learn With Jason',
url: 'https://www.youtube.com/watch?v=SPPQm0dvEes',
description: 'Dominik Dorfmeister covering TanStack Query v4.',
},
{
title: 'React Query Exposed by Its Maintainer',
url: 'https://www.youtube.com/watch?v=8-RTNnn9GR8',
description: 'Dominik Dorfmeister explores the less favorable aspects of React Query and situations where it may not be the best fit.',
},
{
title: 'React Query API Design: Lessons Learned - Dominik Dorfmeister',
url: 'https://www.youtube.com/watch?v=l3PxErcKeAI',
description: 'Dominik Dorfmeister walks through some of the API design choices that were made in React Query to get to the DX.',
},
]
utilities:
[
{
title: 'batshit',
url: 'https://github.com/yornaath/batshit',
description: 'A batch manager that will deduplicate and batch requests for a certain data type made within a window',
},
{
title: 'GraphQL Code Generator',
url: 'https://the-guild.dev/graphql/codegen',
description: 'Generate React Query hooks from your GraphQL schema',
},

{
title: 'Http-wizard',
url: 'https://http-wizard.com',
description: 'End-to-end type-safe Fastify API with typeScript magic ✨',
},

{
title: 'Normy',
url: 'https://github.com/klis87/normy',
description: 'Automatic normalization and data updates for data fetching libraries',
},

{
title: 'Orval',
url: 'https://orval.dev/',
description: 'Generate TypeScript client from OpenAPI specifications.',
},
{
title: 'Query Key Factory',
url: 'https://github.com/lukemorales/query-key-factory',
description: 'A library for creating typesafe standardized query keys, useful for cache management in @tanstack/query',
},

{
title: 'React Query Kit',
url: 'https://github.com/liaoliao666/react-query-kit',
description: '🕊️ A toolkit for ReactQuery that makes ReactQuery hooks reusable and typesafe',
},
{
title: 'React Query Rewind',
url: 'https://reactqueryrewind.com/',
description: 'Time travel and visualize state during development',
},
{
title: 'React Query Swagger',
url: 'https://github.com/Shaddix/react-query-swagger',
description: 'Generate React Query hooks based on Swagger API definitions',
},
{
title: 'Suspensive React Query',
url: 'https://suspensive.org/docs/react-query/motivation',
description: 'Enhances React Query with Suspense support, allowing for simpler and more declarative data fetching',
},
{
title: 'tRPC',
url: 'https://trpc.io/',
description: 'End-to-end typesafe APIs made easy',
},
]
others:
[
{
title: 'Atomic CRM',
url: 'https://marmelab.com/atomic-crm/',
description: 'A full-featured CRM built with React, react-admin, and Supabase.',
},
{
title: 'Blitz',
url: 'https://blitzjs.com/',
description: 'The Missing Fullstack Toolkit for Next.js',
},
{
title: 'Connect',
url: 'https://connectrpc.com/docs',
description: 'A family of libraries for building browser and gRPC-compatible HTTP APIs.',
},
{
title: 'Hey API',
url: 'https://heyapi.dev/openapi-ts/plugins/tanstack-query',
description: 'The OpenAPI to TypeScript codegen. Generate clients, SDKs, validators, and more.',
},
{
title: 'Kubb',
url: 'https://www.kubb.dev/',
description: 'Generate SDKs for all your APIs',
},
{
title: 'OpenAPI codegen',
url: 'https://github.com/fabien0102/openapi-codegen',
description: 'A tool for generating code based on an OpenAPI schema.',
},
{
title: 'OpenAPI Qraft React',
url: 'https://github.com/OpenAPI-Qraft/openapi-qraft',
description: 'Generate type-safe API clients and Hooks for TanStack Query directly from OpenAPI Documents.Zero-runtime overhead, Proxy-based design, seamless SSR support, and full TanStack Query functionality.',
},
{
title: 'OpenAPI React Query codegen',
url: 'https://github.com/7nohe/openapi-react-query-codegen',
description: 'Generate TanStack Query hooks based on an OpenAPI specification file.',
},
{
title: 'OpenAPI zod client',
url: 'https://github.com/astahmer/openapi-zod-client',
description: 'Generate a zodios client from an OpenAPI specification',
},
{
title: 'openapi-fetch',
url: 'https://openapi-ts.dev/openapi-react-query/',
description: 'A 2KB min, typesafe fetch wrapper that uses static TypeScript type inference and no runtime checks.',
},
{
title: 'oRPC',
url: 'https://orpc.unnoq.com/docs/integrations/tanstack-query',
description: 'Easy to build APIs that are end-to-end type-safe and adhere to OpenAPI standards.',
},
{
title: 'Rapini',
url: 'https://github.com/rametta/rapini',
description: '🥬 OpenAPI to React Query (or SWR) & Axios',
},
{
title: 'ts-rest',
url: 'https://ts-rest.com/',
description: 'Incrementally adoptable type-safety for your new and existing APIs',
},
{
title: 'wagmi',
url: 'https://wagmi.sh/',
description: 'React Hooks for Ethereum based on @tanstack/react-query',
},
{
title: 'zodios',
url: 'https://www.zodios.org/',
description: 'End-to-end typesafe REST API toolbox',
},
]
---
55 changes: 6 additions & 49 deletions docs/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
"indexName": "tanstackquery"
},
"sections": [
{
"label": "Community Resources",
"children": [],
"frameworks": []
},
{
"label": "Getting Started",
"children": [],
Expand All @@ -29,10 +34,6 @@
"label": "Devtools",
"to": "framework/react/devtools"
},
{
"label": "Videos & Talks",
"to": "framework/react/videos"
},
{
"label": "Comparison",
"to": "framework/react/comparison"
Expand Down Expand Up @@ -1012,51 +1013,7 @@
}
]
},
{
"label": "Community Resources",
"children": [],
"frameworks": [
{
"label": "react",
"children": [
{
"label": "TkDodo's Blog",
"to": "framework/react/community/tkdodos-blog"
},
{
"label": "Community Projects",
"to": "framework/react/community/community-projects"
}
]
},
{
"label": "solid",
"children": [
{
"label": "TkDodo's Blog",
"to": "framework/solid/community/tkdodos-blog"
},
{
"label": "Community Projects",
"to": "framework/solid/community/community-projects"
}
]
},
{
"label": "vue",
"children": [
{
"label": "TkDodo's Blog",
"to": "framework/vue/community/tkdodos-blog"
},
{
"label": "Community Projects",
"to": "framework/vue/community/community-projects"
}
]
}
]
},

{
"label": "Examples",
"children": [],
Expand Down
Loading
Loading