Skip to main content
Data IntegrityData Integrity

Data Integrity

Strong inferred types; single source of truth that is referentially stable ensures consistency; asynchronous invariants make it easy to avoid race conditions

Created by Hea Poh Lin

Performance

Normalized cache means data is often ready before it is even needed. Automatic request deduplication means less data to send over the network.

Composition over configuration

Declare what you need where you need it. Share data definitions across platforms, components, protocols, and behaviors.

Incremental Adoption

Get started fast with one line data definition and one line data binding. Then add TypeScript, normalized cache with Schemas, optimistic updates and more.

A simple data fetch

Add a single useResource() call where you need its data.

Rest Hooks automatically optimizes performance by caching the results, deduplicating fetches, efficient component render bindings and more.

Live Editor
Result
Loading...
Store
Live Editor
Result
Loading...
Store
Live Editor
Result
Loading...
Store

Stateful mutations

Use Controller.fetch() to update the store.

Rest Hooks ensures data consistency and integrity globally. Every piece of data maintains referential stability unless it changes. This ensures the most optimized render performance, as well as predictable equality checks.

Live Editor
Result
Loading...
Store
Live Editor
Result
Loading...
Store

An application

Data can be consumed and controlled in many contexts, speeding up development.

Rest Hooks uses data normalization to maintain consistency no matter how and where the data is consumed.

Rest easy with the help of debugging, unit testing, and storybook integration.

Live Editor
Result
Loading...
Store
Live Editor
Result
Loading...
Store