@@ -12,36 +12,36 @@ Feature/Capability Key:
1212- 🔶 Supported and documented, but requires extra user-code to implement
1313- 🛑 Not officially supported or documented.
1414
15- | | React Query | SWR [ _ (Website)_ ] ( https://github.com/vercel/ swr) | Apollo Client [ _ (Website)_ ] ( https://github.com/apollographql/ apollo-client ) |
16- | -------------------------------------------- | -------------------------------------- | ------------------------------------------------ | ---------------------------------------- ----------------------------------- |
17- | Supported Protocol | HTTP | HTTP | GraphQL |
18- | Supported Query Signatures | Promise | Promise | GraphQL Query |
19- | Supported Query Keys | JSON | JSON | GraphQL Query |
20- | Query Key Change Detection | Deep Compare (Serialization) | Referential Equality (===) | Deep Compare (Serialization) |
21- | Query Data Memoization Level | Query + Structural Sharing | Query | Query + Entity + Structural Sharing |
22- | Bundle Size | [ ![ ] [ bp-react-query ]] [ bpl-react-query ] | [ ![ ] [ bp-swr ]] [ bpl-swr ] | [ ![ ] [ bp-apollo ]] [ bpl-apollo ] |
23- | Queries | ✅ | ✅ | ✅ |
24- | Caching | ✅ | ✅ | ✅ |
25- | Devtools | ✅ | 🟡 | ✅ |
26- | Polling/Intervals | ✅ | ✅ | ✅ |
27- | Parallel Queries | ✅ | ✅ | ✅ |
28- | Dependent Queries | ✅ | ✅ | ✅ |
29- | Paginated Queries | ✅ | 🛑<sup >1</sup > | ✅ |
30- | Infinite Queries | ✅ | ✅ | ✅ |
31- | Initial Data | ✅ | ✅ | ✅ |
32- | Scroll Recovery | ✅ | ✅ | ✅ |
33- | Cache Manipulation | ✅ | ✅ | ✅ |
34- | Outdated Query Dismissal | ✅ | ✅ | ✅ |
35- | Auto Garbage Collection | ✅ | 🛑 | 🛑 |
36- | Mutation Hooks | ✅ | 🟡 | ✅ |
37- | Prefetching APIs | ✅ | 🔶 | ✅ |
38- | Query Cancellation | ✅ | 🛑 | 🛑 |
39- | Partial Query Matching<sup >2</sup > | ✅ | 🛑 | 🛑 |
40- | Window Focus Refetching | ✅ | ✅ | 🛑 |
41- | Network Status Refetching | ✅ | ✅ | ✅ |
42- | Automatic Refetch after Mutation<sup >3</sup > | 🔶 | 🔶 | ✅ |
43- | Cache Dehydration/Rehydration | 🛑 (Coming Soon!) | 🛑 | ✅ |
44- | React Suspense (Experimental) | ✅ | ✅ | 🛑 |
15+ | | React Query | SWR [ _ (Website)_ ] ( swr ) | Apollo Client [ _ (Website)_ ] ( apollo ) |
16+ | -------------------------------------------- | -------------------------------------- | -------------------------- | ----------------------------------- |
17+ | Supported Protocol | HTTP | HTTP | GraphQL |
18+ | Supported Query Signatures | Promise | Promise | GraphQL Query |
19+ | Supported Query Keys | JSON | JSON | GraphQL Query |
20+ | Query Key Change Detection | Deep Compare (Serialization) | Referential Equality (===) | Deep Compare (Serialization) |
21+ | Query Data Memoization Level | Query + Structural Sharing | Query | Query + Entity + Structural Sharing |
22+ | Bundle Size | [ ![ ] [ bp-react-query ]] [ bpl-react-query ] | [ ![ ] [ bp-swr ]] [ bpl-swr ] | [ ![ ] [ bp-apollo ]] [ bpl-apollo ] |
23+ | Queries | ✅ | ✅ | ✅ |
24+ | Caching | ✅ | ✅ | ✅ |
25+ | Devtools | ✅ | 🟡 | ✅ |
26+ | Polling/Intervals | ✅ | ✅ | ✅ |
27+ | Parallel Queries | ✅ | ✅ | ✅ |
28+ | Dependent Queries | ✅ | ✅ | ✅ |
29+ | Paginated Queries | ✅ | 🛑<sup >1</sup > | ✅ |
30+ | Infinite Queries | ✅ | ✅ | ✅ |
31+ | Initial Data | ✅ | ✅ | ✅ |
32+ | Scroll Recovery | ✅ | ✅ | ✅ |
33+ | Cache Manipulation | ✅ | ✅ | ✅ |
34+ | Outdated Query Dismissal | ✅ | ✅ | ✅ |
35+ | Auto Garbage Collection | ✅ | 🛑 | 🛑 |
36+ | Mutation Hooks | ✅ | 🟡 | ✅ |
37+ | Prefetching APIs | ✅ | 🔶 | ✅ |
38+ | Query Cancellation | ✅ | 🛑 | 🛑 |
39+ | Partial Query Matching<sup >2</sup > | ✅ | 🛑 | 🛑 |
40+ | Window Focus Refetching | ✅ | ✅ | 🛑 |
41+ | Network Status Refetching | ✅ | ✅ | ✅ |
42+ | Automatic Refetch after Mutation<sup >3</sup > | 🔶 | 🔶 | ✅ |
43+ | Cache Dehydration/Rehydration | 🛑 (Coming Soon!) | 🛑 | ✅ |
44+ | React Suspense (Experimental) | ✅ | ✅ | 🛑 |
4545
4646### Notes
4747
@@ -51,6 +51,8 @@ Feature/Capability Key:
5151
5252> ** <sup >3</sup > Automatic Refetch after Mutation** - For truly automatic refetching to happen after a mutation occurs, a schema is necessary (like the one graphQL provides) along with heuristics that help the library know how to identify individual entities and entities types in that schema.
5353
54+ [ swr ] : https://github.com/vercel/swr
55+ [ apollo ] : https://github.com/apollographql/apollo-client
5456[ bp-react-query ] : https://badgen.net/bundlephobia/minzip/react-query?label=%20
5557[ bp-swr ] : https://badgen.net/bundlephobia/minzip/swr?label=%20
5658[ bp-apollo ] : https://badgen.net/bundlephobia/minzip/@apollo/client?label=%20
0 commit comments