@lifeomic/react-client
v5.14.1
Published
React hooks for interacting with the LifeOmic platform
Downloads
529
Readme
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', {
// ...
});