import { useStore } from "App/mstore"; import React from 'react'; import { CodeBlock } from "UI"; import ToggleContent from 'Shared/ToggleContent'; import DocLink from 'Shared/DocLink/DocLink'; import { observer } from 'mobx-react-lite' const NgRxDoc = () => { const { integrationsStore, projectsStore } = useStore(); const sites = projectsStore.list; const siteId = integrationsStore.integrations.siteId const projectKey = siteId ? sites.find((site) => site.id === siteId)?.projectKey : sites[0]?.projectKey const usage = `import { StoreModule } from '@ngrx/store'; import { reducers } from './reducers'; import OpenReplay from '@openreplay/tracker'; import trackerNgRx from '@openreplay/tracker-ngrx'; //... const tracker = new OpenReplay({ projectKey: '${projectKey}' }); tracker.start() //... const metaReducers = [tracker.use(trackerNgRx())]; // check list of available options below //... @NgModule({ imports: [StoreModule.forRoot(reducers, { metaReducers })] }) export class AppModule {}` const usageCjs = `import { StoreModule } from '@ngrx/store'; import { reducers } from './reducers'; import OpenReplay from '@openreplay/tracker/cjs'; import trackerNgRx from '@openreplay/tracker-ngrx/cjs'; //... const tracker = new OpenReplay({ projectKey: '${projectKey}' }); //... function SomeFunctionalComponent() { useEffect(() => { // or componentDidMount in case of Class approach tracker.start() }, []) //... const metaReducers = [tracker.use(trackerNgRx())]; // check list of available options below //... @NgModule({ imports: [StoreModule.forRoot(reducers, { metaReducers })] }) export class AppModule {} }` return (

NgRx

This plugin allows you to capture NgRx actions/state and inspect them later on while replaying session recordings. This is very useful for understanding and fixing issues.
Installation
Usage

Add the generated meta-reducer into your imports. See NgRx documentation for more details.

Usage
} second={ } />
); }; NgRxDoc.displayName = 'NgRxDoc'; export default observer(NgRxDoc);