README
8base App Provider
Universal 8base App Provider loads fragments schema and provides it to Apollo client, along with authentication and table schema.
API
Table of Contents
EightBaseAppProvider
EightBaseAppProvider
universal provider which loads fragments schema and provides it to Apollo client, along with authentication and table schema.
Properties
uri
string? The 8base API field schema.authClient
Object? The 8base auth client.onRequestSuccess
Function? Callback which is executed when a request is successful.onRequestError
Function? Callback which is executed when a request fails.extendLinks
Function? Function to extend the standard array of links.children
Function? The render function.
Usage
import React from 'react';
import { BrowserRouter } from 'react-router-dom';
import { EightBaseAppProvider } from '@8base/app-provider';
import { WebAuth0AuthClient } from '@8base/web-auth0-auth-client';
import { EightBaseBoostProvider, Loader } from '@8base/boost';
import { Routes } from './routes';
const authClient = new WebAuth0AuthClient({
domain: AUTH_DOMAIN,
clientId: AUTH_CLIENT_ID,
redirectUri: `${window.location.origin}/auth/callback`,
logoutRedirectUri: `${window.location.origin}/auth`,
workspaceId: 'workspace-id',
});
const Application = () => (
<BrowserRouter>
<EightBaseBoostProvider>
<EightBaseAppProvider uri={ process.env.REACT_APP_8BASE_API_URL } authClient={ authClient }>
{
({ loading }) => loading ? <Loader /> : <Routes />
}
</EightBaseAppProvider>
</EightBaseBoostProvider>
</BrowserRouter>
);
export { Application };