@keboola/api-client-react
v0.1.0
Published
React bindings for @keboola/api-client
Downloads
61
Readme
@keboola/api-client-react
React bindings for @keboola/api-client — provider + hooks for accessing the Keboola SDK in a React tree.
Installation
npm install @keboola/api-client @keboola/api-client-react reactPeer dependencies: react ^18.3.1 || ^19.0.0, @keboola/api-client.
Quick Start
Wrap your tree with ApiClientProvider, then read the client with useApiClient anywhere below it. The provider initialises the SDK once on mount and renders fallback until init resolves.
import { createApiClient } from '@keboola/api-client';
import { ApiClientProvider, useApiClient } from '@keboola/api-client-react';
const client = createApiClient();
export const App = () => (
<ApiClientProvider
client={client}
baseUrl="https://connection.keboola.com"
token={{ storageApi: 'your-storage-token' }}
assetsBaseUrl="https://assets.keboola.com"
statusBaseUrl="https://status.keboola.com"
metastoreBaseUrl="https://metastore.keboola.com"
onError={(error) => console.error('API Error:', error)}
fallback={<div>Loading…</div>}
>
<Tables />
</ApiClientProvider>
);
const Tables = () => {
const api = useApiClient();
// api.storage.tables.list(), api.queue.searchJobs(), etc.
return null;
};Exported hooks
useApiClient()— returns the initialisedApiClient.useProject()— returnsclient.project(project features + backend availability).useStack()— returnsclient.stack(service discovery + feature flags).useDevApiClient()— companion hook forDevApiClientProvider, used by tooling that needs the dev/raw client.
Ownership
Owned by the Keboola UI team. Source of truth is the keboola/ui monorepo.
Versioning follows semver via Changesets; the package is linked to @keboola/api-client so a bump on either releases both together.
