Hooks and utilities for combining React with RxJS Observables
Features:
- Predictable first paint — the required
initialValuerenders first, and observables are never subscribed during render (no render-phase side effects, server included). - Non-blocking by default —
useObservabledefers store updates; reach foruseSyncObservablefor controlled inputs. - Suspense-ready —
useObservablePromiseturns an observable into ause()-compatible promise for when there is no meaningful initial value. - Lightweight. Implemented on top of a small React Hook based core.
- Full TypeScript support.
This package provides React hooks for working with RxJS Observables in your components.
- React
^19.2 - RxJS
^7.2— operators are imported from'rxjs'(not the deprecated'rxjs/operators'path). If you're still on an older RxJS, see the RxJS import migration guide.
This package lives in the react-rx monorepo and uses Changesets to manage versioning and publishing.
When you make a change that should be released, add a changeset to your pull request:
pnpm changesetOnce pull requests with changesets are merged into the current branch, a "Version Packages" pull request is opened (and kept up to date) that bumps the affected package versions and updates their changelogs. Merging that pull request publishes the packages to npm through the Release workflow, which uses npm Trusted Publishing (OIDC).
