Skip to main content
Version: v7.0.0

Comparison

The biggest difference between Hyper Fetch and other libraries is the opinionated architecture and assumptions on which it is built. Hyper Fetch's core features are written in TS without dependencies; because of this, it can work in many environments without a specific connection to a given framework.

info

Producing an accurate and unbiased comparison is quite a challenge. Libraries develop quickly, so if you notice that our data needs to be corrected, please let us know by opening an issue.


Why Hyper Fetch Is Unique


Features

✅ - Documented support
🚧 - Work in progress
🔵 - Require additional Plugin/Coding
🔴 - Not supported / Not documented


Hyper Fetch

Query

SWRApollo
Supported environmentsAnyAnyReactAny
ProtocolsAnyAnyAnyGraphQL
Caching ApproachRequest SchemaHierarchical Key > ValueUnique Key > ValueNormalized Schema
Cache Key StrategyRequest KeyJSONJSONGraphQL Query
Data Change DetectionDeep ComparisonDeep ComparisonDeep ComparisonDeep Comparison
Data MemoizationIdentityFull Structural SharingIdentityNormalized Identity
Queue Key StrategyRequest KeyN/AN/AN/A
Devtools

Server Connection Setup

🔵🔵

Shared Request

🔵🔵

Dependency tracking

Cache Persistence🔴

Requests Persistence

🔴🔵

Download ETA

🔵🔵🔵

Uploading ETA

🔵🔵🔵

Pooling

Dependent Queries

Paginated Queries

Query Params Parsing

🔵🔵🔵

Queueing

🔴🔴🔴

Retries

🔵

Default Adapter

🔴🔴

Infinite Queries

SSR

Initial Data

Cache Hydration

🔴

Garbage Collecting

🔴🔴

Pre Request Intercepting

🔵🔵

Post Request Intercepting

🔵🔵

Prefetching

Cancellation

🔴🔴

Queue Cancellation

🔴🔴🔴

Authentication

🔵🔵

Stale While Revalidate

Refresh Data

Offline Request Pause

🔴🔴

Network Status Re-fetching

Window Focus Re-fetching

🔴

Normalized Caching

🔴🔵🔴

Automatic Re-fetch After Mutation

🔵🔵

Query Matching

🔴🔴

Cache Matching

Query Lifecycle Events

Data Flow Standard

🔴🔴

Request Start/Stop

🔴🔴🔴

Request Queue Start/Stop/Pause

🔴🔴🔴

Request Data Mapping

🔵🔵N/A

Cache Invalidation

File Uploading

🔵🔵

Global Response Side-Effects

🔴🔴🔴

Scroll Recovery

Simple Request Execution

Requests Manager

🔴🔴🔴

Tabs Storages Synchronization

🔴🚧🔴🔴

Tabs Dispatching Synchronization

🔴🔴🔴🔴

Websocket

🔴🔴🔵

Server Sent Events

🔴🔴🔴

Typescript features

Hyper Fetch

Query

SWRApollo

Response types

Request data types

Global error types

🔴🔴

Local error types

🔴🔴🔴

Query params types

🔴🔴

Params types

🔴🔴

Request state tracking types

🔴🔴