A highly customizable and versatile GraphQL client for React, Preact, Vue, Solid, and Svelte.
urql is a GraphQL client library that provides a set of helpers for multiple frontend frameworks including React, Vue, Svelte, Solid, and Preact. It solves the problem of efficiently fetching and managing GraphQL data in client-side applications with a balance of simplicity and advanced customization.
Frontend developers building applications with GraphQL APIs across various frameworks who need a flexible, performant client that can scale from simple to complex use cases.
Developers choose urql for its unique combination of multi-framework support, a simple default setup for quick starts, and a highly customizable exchange system that allows deep behavioral modifications, enabling it to grow alongside their application's complexity.
The highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
A single package provides helpers for React, Preact, Vue, Solid, and Svelte, enabling consistent GraphQL usage across diverse frontend stacks without separate clients.
The modular exchange system allows deep behavioral customization, from caching to error handling, as documented in the advanced guides for tailoring client functionality.
Out-of-the-box document caching offers logical defaults for quick setup, making it approachable for newcomers to GraphQL without complex configuration.
Optional normalized caching via @urql/exchange-graphcache supports complex applications with efficient data updates, scaling from simple to sophisticated use cases.
Features like normalized caching require installing and configuring separate packages, adding complexity compared to more integrated GraphQL clients.
Compared to Apollo Client, urql has fewer community plugins, extensions, and third-party tools, which can limit integration options for specialized needs.
Authoring custom exchanges demands a deep understanding of urql's architecture, which can be steep for developers unfamiliar with GraphQL client internals.
Preact-urql is an open-source alternative to the following products:
Relay is a JavaScript framework for building data-driven React applications, providing a declarative approach to data fetching and management with GraphQL.
Apollo Client is a comprehensive state management library for JavaScript that enables you to manage both local and remote data with GraphQL.