SublayProvider creates and manages its own isolated Redux store. This is the recommended approach for most projects — no Redux configuration required.
If your application already has its own Redux store, we strongly recommend merging Sublay’s state into it using SublayIntegrationProvider. Running two separate Redux stores in the same React app is a common source of subtle bugs: React-Redux binds components to the nearest <Provider> in the tree, so hooks can silently read from the wrong store depending on where components are rendered.
When to Use This
If your app already has a Redux store, useSublayIntegrationProvider. This is the right path for virtually every app in that situation. The standalone SublayProvider is only appropriate for apps that don’t use Redux at all.
The standalone provider creates its own internal store. When that coexists with your app’s store, React-Redux binds components to whichever <Provider> is closest in the tree — which means hooks silently read from the wrong store depending on where a component is rendered. These bugs are hard to spot and hard to trace.
The only reason to use SublayProvider alongside an existing Redux store is if you have a specific, deliberate reason to keep the two stores completely separate and you fully understand the implications. For nearly everyone, that’s not the case.
Setup
Integration mode requires three changes to your existing store and one change to your provider setup.Add Sublay reducers to your store
Import
sublayReducers and sublayApiReducer from @sublay/react-js and add them to your store’s reducer map. The keys must be exactly sublay and sublayApi — the SDK’s internal selectors depend on these names.Props
SublayIntegrationProvider accepts the same props as SublayProvider:
Your Sublay project ID.
A signed JWT for external authentication mode. See External Auth.
Exports Reference
All integration exports are available from@sublay/react-js:
| Export | Type | Purpose |
|---|---|---|
sublayReducers | Reducer | Combined reducer for all Sublay feature slices. Mount under the sublay key. |
sublayApiReducer | Reducer | RTK Query API reducer. Mount under the sublayApi key. |
sublayApiMiddleware | Middleware | RTK Query middleware for cache invalidation and subscriptions. |
sublayMiddleware | Middleware[] | Combined array of all required Sublay middleware. Spread into your middleware chain. |
SublayIntegrationProvider | React.FC | Context provider for integration mode. |
State Shape
When integrated, Sublay occupies two top-level keys in your store:The
sublay and sublayApi keys are required by Sublay’s internal selectors. Mounting the reducers under different keys will cause the SDK to malfunction.TypeScript
Sublay exportsSublayState if you need to type a state slice that references Sublay’s shape:

