# @ossy/cms-client-react

> React bindings for cms rest api

Latest version **0.0.83** (published 2025-05-15) · 0 weekly downloads

## Install

```sh
npm install @ossy/cms-client-react
pnpm add @ossy/cms-client-react
yarn add @ossy/cms-client-react
bun add @ossy/cms-client-react
```

## Health

**Score 25/100 (F)** — status: maintenance-mode.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types; low quality score; pre 1.0.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.83 |
| Published | 2025-05-15 |
| First published | 2021-12-31 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 2 |
| Unpacked size | 60.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Ossy |
| Maintainers | oskarssylwan |

## Links

- npm: https://www.npmjs.com/package/@ossy/cms-client-react
- npm.io page: https://npm.io/package/@ossy/cms-client-react

## Dependencies (2)

- [ramda](https://npm.io/package/ramda.md) ^0.27.1
- [jwt-decode](https://npm.io/package/jwt-decode.md) ^3.1.2

## Recent versions

- 0.0.83 (latest) — 2025-05-15
- 0.0.44 (develop) — 2022-04-03
- 0.0.82 — 2025-05-15
- 0.0.81 — 2025-05-13
- 0.0.80 — 2025-02-23
- 0.0.79 — 2025-02-17
- 0.0.78 — 2025-02-17
- 0.0.77 — 2025-02-17
- 0.0.76 — 2025-02-15
- 0.0.74 — 2024-12-15
- 0.0.73 — 2024-05-17
- 0.0.72 — 2024-05-17
- 0.0.71 — 2024-04-07
- 0.0.70 — 2024-04-06
- 0.0.69 — 2024-04-06
- … 37 more at https://npm.io/package/@ossy/cms-client-react/versions

## README

# React bindings

To make it as easy as possible to use our cms we have created a library
with react hooks you can use to fetch data.

## Getting started

To use these hooks install the package **@ossy/cms-client-react**

```
npm install @ossy/cms-client-react
```

Then we simply need to wrap our app in a <WorkspaceProvider /> that will
handle data storage and configuration for us.
You will need the workspaceId for the workspace you want to fetch data from.
The workspaceId can be found in the list of workspaces you have access to or
in the url when you view the resources in the UI.

```
// App.jsx
import { WorkspaceProvider } from '@ossy/cms-client-react'
import { MyComponent } from './MyComponent.jsx'

export const App = () => (
  <WorkspaceProvider workspaceId="your-workspace-id">
    <MyComponent />
  </WorkspaceProvider>
)
```
```
// MyComponent.jsx
import { useResources } from '@ossy/cms-client-react'

export const MyComponent = () => {
  const { status, resources } = useResources('/folder/path/in/cms')

  return (
    <>
      { status === 'Error' && (
        <>Something went wrong</>
      )}

      { status === 'Loading' && (
        <>Loading...</>
      )}

      { status === 'Success' && (
        resources.map(resource => (
          <div key={resource.id}>
            {resource.name}
          </div>
        ))
      )}
    </>  
  )
}
```

## Reference

### useResources

```
const { status, resources } = useResources('/')
```

**Parameters**

- **path** - Folder path in the cms UI

**Returns**

Returns an object containing

- **status** - String value that indicates loading status.
  Can be used to show loading indicators or error screens.
  Possible values are: NotInitialized, Loading, Success, Error
- **resources** - Array of resources, defaults to an empty array when
  loading is not Success

### useResource

```
const { status, resource } = useResource('resourceId')
```

**Parameters**

- **resourceId** - Id of the resource you want to fetch

**Returns**

Returns an object containing

- **status** - String value that indicates loading status.
  Can be used to show loading indicators or error screens.
  Possible values are: NotInitialized, Loading, Success, Error
- **resource** - The fetched resource, defaults to an empty object
  when status is not Success

---
_Source: https://npm.io/package/@ossy/cms-client-react · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
