@@ -12,40 +12,39 @@ 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)_ ] ( 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 | ✅ | ✅ | ✅ |
30- | Infinite Queries | ✅ | ✅ | ✅ |
31- | Lagged / "Lazy" Queries<sup >1</sup > | ✅ | 🛑 | 🛑 |
32- | Initial Data | ✅ | ✅ | ✅ |
33- | Scroll Recovery | ✅ | ✅ | ✅ |
34- | Cache Manipulation | ✅ | ✅ | ✅ |
35- | Outdated Query Dismissal | ✅ | ✅ | ✅ |
36- | Render Optimization<sup >2</sup > | ✅ | 🛑 | 🛑 |
37- | Auto Garbage Collection | ✅ | 🛑 | 🛑 |
38- | Mutation Hooks | ✅ | 🟡 | ✅ |
39- | Prefetching APIs | ✅ | 🔶 | ✅ |
40- | Query Cancellation | ✅ | 🛑 | 🛑 |
41- | Partial Query Matching<sup >3</sup > | ✅ | 🛑 | 🛑 |
42- | Stale While Revalidate | ✅ | ✅ | 🛑 |
43- | Stale Time Configuration | ✅ | 🛑 | 🛑 |
44- | Window Focus Refetching | ✅ | ✅ | 🛑 |
45- | Network Status Refetching | ✅ | ✅ | ✅ |
46- | Automatic Refetch after Mutation<sup >4</sup > | 🔶 | 🔶 | ✅ |
47- | Cache Dehydration/Rehydration | ✅ | 🛑 | ✅ |
48- | React Suspense (Experimental) | ✅ | ✅ | 🛑 |
15+ | | React Query | SWR [ _ (Website)_ ] ( swr ) | Apollo Client [ _ (Website)_ ] ( apollo ) |
16+ | -------------------------------------------- | -------------------------------------- | -------------------------- | ------------------------------------- |
17+ | Supported Query Syntax | Promise, REST, GraphQL | Promise, REST, GraphQL | GraphQL |
18+ | Supported Query Keys | JSON | JSON | GraphQL Query |
19+ | Query Key Change Detection | Deep Compare (Stable Serialization) | Referential Equality (===) | Deep Compare (Unstable Serialization) |
20+ | Query Data Memoization Level | Query + Structural Sharing | Query | Query + Entity + Structural Sharing |
21+ | Bundle Size | [ ![ ] [ bp-react-query ]] [ bpl-react-query ] | [ ![ ] [ bp-swr ]] [ bpl-swr ] | [ ![ ] [ bp-apollo ]] [ bpl-apollo ] |
22+ | Queries | ✅ | ✅ | ✅ |
23+ | Caching | ✅ | ✅ | ✅ |
24+ | Devtools | ✅ | 🟡 | ✅ |
25+ | Polling/Intervals | ✅ | ✅ | ✅ |
26+ | Parallel Queries | ✅ | ✅ | ✅ |
27+ | Dependent Queries | ✅ | ✅ | ✅ |
28+ | Paginated Queries | ✅ | ✅ | ✅ |
29+ | Infinite Queries | ✅ | ✅ | ✅ |
30+ | Lagged / "Lazy" Queries<sup >1</sup > | ✅ | 🛑 | 🛑 |
31+ | Initial Data | ✅ | ✅ | ✅ |
32+ | Scroll Recovery | ✅ | ✅ | ✅ |
33+ | Cache Manipulation | ✅ | ✅ | ✅ |
34+ | Outdated Query Dismissal | ✅ | ✅ | ✅ |
35+ | Render Optimization<sup >2</sup > | ✅ | 🛑 | 🛑 |
36+ | Auto Garbage Collection | ✅ | 🛑 | 🛑 |
37+ | Mutation Hooks | ✅ | 🟡 | ✅ |
38+ | Prefetching APIs | ✅ | 🔶 | ✅ |
39+ | Query Cancellation | ✅ | 🛑 | 🛑 |
40+ | Partial Query Matching<sup >3</sup > | ✅ | 🛑 | 🛑 |
41+ | Stale While Revalidate | ✅ | ✅ | 🛑 |
42+ | Stale Time Configuration | ✅ | 🛑 | 🛑 |
43+ | Window Focus Refetching | ✅ | ✅ | 🛑 |
44+ | Network Status Refetching | ✅ | ✅ | ✅ |
45+ | Automatic Refetch after Mutation<sup >4</sup > | 🔶 | 🔶 | ✅ |
46+ | Cache Dehydration/Rehydration | ✅ | 🛑 | ✅ |
47+ | React Suspense (Experimental) | ✅ | ✅ | 🛑 |
4948
5049### Notes
5150
0 commit comments