useCmsDocuments
Loads one page of published documents from a CMS collection.
When to use it
Use options for locale, scope, page, limit, and sort; the hook does not fetch every page.
Setup
Call it from a client-side React component below OvokProvider so it uses the client configured at that provider boundary.
Hook arguments
| Argument | Type | Details |
|---|---|---|
collection | string | CMS collection to list. |
options (optional) | OvokCmsListOptions | Locale and scope options plus page, limit, and sort. |
TypeScript signature
<T extends object = OvokCmsDocument>(collection: string, options?: OvokCmsListOptions): OvokRequestState<OvokCmsPage<T>>
Request state
The response payload is OvokCmsPage<T>. A successful empty result, a failed request, and a request that has not returned data are distinct states.
| Field | Meaning |
|---|---|
data | Latest successful response, or undefined before one is available. |
loading | Whether the request is in progress. |
error | Request error as an Error, or undefined when no request has failed. |
reload | Repeats the request with the current arguments. |
Request behavior
The hook loads when its required inputs are available and reloads when those inputs change. Use reload for an explicit refresh; render loading, error, and successful no-result states separately.
Example
Handle the hook's loading and error states before rendering the result.
import { useCmsDocuments } from '@ovok/core';
export function CmsDocumentsExample({ collection, options }: { collection: Parameters<typeof useCmsDocuments>[0]; options?: Parameters<typeof useCmsDocuments>[1] }) {
const { data, loading, error, reload } = useCmsDocuments(collection, options);
if (loading) return <p>Loading…</p>;
if (error) return <p role="alert">{error.message}</p>;
return <section><button onClick={reload}>Reload</button><pre>{JSON.stringify(data, null, 2)}</pre></section>;
}
Related
- Generated API reference for overloads and exact input and response types.
- React applications for provider setup and application patterns.
- Hook guide index for related hooks.