Hooks

Provider Hooks#

Using hooks, you can obtain the following providers:

useDatamanager#

useDatamanager(datamanagerID, env?, ecUser?)

Returns dataProvider that internally uses PublicAPI. See Getting Started for usage.

useSession#

useSession(env?, clientID?)

Returns authProvider that internally uses Session and Accounts. See Getting Started for usage.

useResources#

useResources(env?)

Returns dataProvider that internally uses DataManager API.

const dataProvider = useResources('stage');

Example#

Typically, you would want to use the providers like this:

import React from 'react';
import { Admin, Resource, Loading } from 'react-admin';
import { useSession, useDatamanager, entryCrud } from 'ec.admin';
const App = () => {
const dataProvider = useDatamanager('73538731-4ac3-4a1a-b3b5-e31d09e94d42'); // datamanagerID
const authProvider = useSession();
if (!dataProvider || !authProvider) {
return <Loading />;
}
return (
<Admin dataProvider={dataProvider} authProvider={authProvider}>
{/* Resources */}
</Admin>
);
};
export default App;

Helper Hooks#

useFields#

Returns fieldConfig for given model. Appends system fields "id", "_created" and "_modified" if second param is false. Intended to be used with fieldProps / inputProps or as fieldConfig prop of EntryListFilter. For usage examples, see custom Form.

const fields = useFields(props.resource); // fieldConfig with system fields
const fields = useFields(props.resource, false); // fieldConfig without system fields
// fields contains { fieldConfig, defaultColumns }

useFieldConfig#

Returns just fieldConfig for given model. Does not add system fields or defaultColumns. Used by useFields.