import React from 'react'; import { CodeBlock } from "UI"; import ToggleContent from 'Shared/ToggleContent'; import DocLink from 'Shared/DocLink/DocLink'; import { connect } from 'react-redux'; const NgRxDoc = (props) => { const { projectKey } = props; 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}' }); // .start() returns a promise tracker.start().then(sessionData => ... ).catch(e => ... ) //... 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 // .start() returns a promise tracker.start().then(sessionData => ... ).catch(e => ... ) }, []) //... 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 connect((state) => { const siteId = state.getIn(['integrations', 'siteId']); const sites = state.getIn(['site', 'list']); return { projectKey: sites.find((site) => site.get('id') === siteId).get('projectKey'), }; })(NgRxDoc);