UNPKG

ra-core

Version:

Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React

43 lines 1.47 kB
import { useGetManyAggregate } from "../dataProvider/index.js"; /** * @typedef UseReferenceResult * @type {Object} * @property {boolean} isFetching: boolean indicating if the reference is loading * @property {boolean} isLoading: boolean indicating if the reference has loaded at least once * @property {Object} referenceRecord: the referenced record. */ /** * Fetch reference record, and return it when available * * The reference prop should be the name of one of the <Resource> components * added as <Admin> child. * * @example * * const { isLoading, referenceRecord } = useReference({ * id: 7, * reference: 'users', * }); * * @param {Object} option * @param {string} option.reference The linked resource name * @param {string} option.id The id of the reference * @param {Object} option.options Options passed to the dataProvider * * @returns {UseReferenceResult} The reference record */ export const useReference = ({ reference, id, options = {}, }) => { const { meta, ...otherQueryOptions } = options; const { data, error, isLoading, isFetching, isPaused, isPending, isPlaceholderData, refetch, } = useGetManyAggregate(reference, { ids: [id], meta }, otherQueryOptions); return { referenceRecord: data ? data[0] : undefined, refetch, error, isLoading, isFetching, isPaused, isPending, isPlaceholderData, }; }; //# sourceMappingURL=useReference.js.map