Skip to main content

Installation

npm install --save @data-client/react @data-client/test @data-client/hooks @data-client/rest

Add provider at top-level component

index.tsx
import { CacheProvider } from '@data-client/react';
import ReactDOM from 'react-dom';

ReactDOM.createRoot(document.body).render(
<CacheProvider>
<App />
</CacheProvider>,
);
Next: Define Data »

Example

More Demos

Supported Tools

TypeScript 3.7+

TypeScript is optional, but requires at least version 3.7 and strictNullChecks for full type enforcement.

Older browser support

If your application targets older browsers (a few years or more), be sure to load polyfills. Typically this is done with @babel/preset-env useBuiltIns: 'entry', coupled with importing core-js at the entrypoint of your application.

This ensures only the needed polyfills for your browser support targets are included in your application bundle.

For instance TypeError: Object.hasOwn is not a function

Internet Explorer support

If you see Uncaught TypeError: Class constructor Resource cannot be invoked without 'new', follow the instructions to add legacy browser support to packages

ReactJS 16+ and React Native

ReactJS 16.2 and above is supported (the one with hooks!). React 18 provides improved Suspense support and features. Both React Native and React Navigation are supported.

Other native frameworks like Expo should work, but have not been verified. If you have a working project using other React libraries, feel free to share with others in our discussions.