@liam-public/browser-react-data
v0.1.0
Published
Backend-agnostic DataProvider (REST adapter) + TanStack Query CRUD hooks for CMS resources.
Readme
@liam-public/browser-react-data
Backend-agnostic data layer for CMS list/CRUD views: a DataProvider contract, a REST
adapter, and TanStack Query hooks. Lets resource views work over any backend (REST today;
tRPC/GraphQL via a small custom DataProvider).
Usage
import { createAuthenticatedFetch } from '@liam-public/browser-react-auth'
import { createRestDataProvider, DataProviderProvider, useList, useCreate } from '@liam-public/browser-react-data'
const provider = createRestDataProvider({ baseUrl: '/api', fetch: createAuthenticatedFetch(authClient) })
<QueryClientProvider client={qc}>
<DataProviderProvider provider={provider}>
<App />
</DataProviderProvider>
</QueryClientProvider>
// in a component:
const { data, isLoading } = useList<Article>('articles', { page: 1, pageSize: 20 })
const create = useCreate<Article>('articles')Hooks: useList, useOne, useCreate, useUpdate, useRemove (mutations auto-invalidate the
resource's queries). Peer deps: react, @tanstack/react-query.
