@lifeomic/react-client v5.14.0
Hooks for interacting with our platform in a type-safe way. Powered by @tanstack/query
and @lifeomic/one-query
.
Installation
yarn add @lifeomic/react-client @tanstack/react-query@^4.0.0 @lifeomic/one-query axios
Usage
Note: The API of this package is almost entirely powered by @lifeomic/one-query
and @tanstack/query
. The following documentation will assume a solid understanding of each of those packages.
Get started using createRestAPIHooks
:
import { createRestAPIHooks } from '@lifeomic/react-client';
const hooks = createRestAPIHooks({
name: 'my-app',
client: axios.create({
/* ... */
}),
});
// Re-export the well-typed hooks.
export const {
useAPIQuery,
useAPIMutation
useCombinedAPIQueries,
useAPICache
} = hooks;
API Reference
createRestAPIHooks
Factory function for creating a set of well-typed hooks for interacting with the platform REST API.
These hooks come directly from the createAPIHooks
function in @lifeomic/one-query
.
import { createRestAPIHooks } from '@lifeomic/react-client';
const { useAPIQuery } = createRestAPIHooks({
name: 'my-app',
// A pre-configured Axios instance
client: axios.create({}),
});
useAPIQuery('GET /v1/accounts', {});
Note: you can also specify a hook to use for the client
option. This is useful for scenarios where you need to
dynamically change the client based on some condition.
import { createRestAPIHooks } from '@lifeomic/react-client';
const hooks = createRestAPIHooks({
name: 'my-app',
client: () => {
return useMyClient();
},
});
createRestAPIClient
Returns a well-typed client for interacting with the platform REST API. Useful for building your own custom hooks, and/or interacting with the API outside of the React tree.
import { createRestAPIClient } from '@lifeomic/react-client';
const client = createRestAPIClient(axios.create({}));
const { data } = await client.request('GET /v1/accounts', {});
createAuthAPIHooks
Factory function for creating a set of well-typed hooks for interacting with the platform Authentication Rest API.
These hooks come directly from the createAPIHooks
function in @lifeomic/one-query
.
import { createAuthAPIHooks } from '@lifeomic/react-client';
const { useAPIMutation } = createAuthAPIHooks({
name: 'my-app',
// A pre-configured Axios instance
client: axios.create({}),
});
useAPIMutation('POST /auth/v1/api/invite-validations', {});
Note: you can also specify a hook to use for the client
option. This is useful for scenarios where you need to
dynamically change the client based on some condition.
import { createAuthAPIHooks } from '@lifeomic/react-client';
const hooks = createAuthAPIHooks({
name: 'my-app',
client: () => {
return useMyClient();
},
});
createAuthAPIClient
Returns a well-typed client for interacting with the platform REST API. Useful for building your own custom hooks, and/or interacting with the API outside of the React tree.
import { createAuthAPIClient } from '@lifeomic/react-client';
const client = createAuthAPIClient(axios.create({}));
const { data } = await client.request(
'POST /auth/v1/api/invite-validations',
{},
);
createGraphQLHooks
Factory function for creating a set of well-typed hooks for interacting with the platform GraphQL API.
import { createGraphQLHooks } from '@lifeomic/react-client';
const { useAPIMutation } = createAuthAPIHooks({
name: 'my-app',
// A pre-configured Axios instance
client: axios.create({}),
});
useGQLMutation(', {});
Note: you can also specify a hook to use for the client
option. This is useful for scenarios where you need to
dynamically change the client based on some condition.
import { createGraphQLHooks } from '@lifeomic/react-client';
const {
useGQLQuery,
useGQLMutation
} = createAuthAPIHooks({
name: 'my-app',
client: () => {
return useMyClient();
},
});
useGQLQuery('GetAllActivities', {...})
useGQLMutation('CreatePost')
createGraphQLClient
Returns a well-typed client for interacting with the platform REST API. Useful for building your own custom hooks, and/or interacting with the API outside of the React tree.
import { createGraphQLClient } from '@lifeomic/react-client';
const client = createGraphQLClient(axios.create({}), '/graphql');
const result = await client.query('GetAllActivities', {
// ...
});
const result = await client.mutate('CreatePost', {
// ...
});
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago