import { useStore } from "App/mstore"; import React from 'react'; import { CodeBlock } from 'UI' import ToggleContent from 'Components/shared/ToggleContent'; import DocLink from 'Shared/DocLink/DocLink'; import { observer } from 'mobx-react-lite' const ReduxDoc = () => { 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 { applyMiddleware, createStore } from 'redux'; import OpenReplay from '@openreplay/tracker'; import trackerRedux from '@openreplay/tracker-redux'; //... const tracker = new OpenReplay({ projectKey: '${projectKey}' }); tracker.start() //... const store = createStore( reducer, applyMiddleware(tracker.use(trackerRedux())) // check list of available options below );` const usageCjs = `import { applyMiddleware, createStore } from 'redux'; import OpenReplay from '@openreplay/tracker/cjs'; import trackerRedux from '@openreplay/tracker-redux/cjs'; //... const tracker = new OpenReplay({ projectKey: '${projectKey}' }); //... function SomeFunctionalComponent() { useEffect(() => { // or componentDidMount in case of Class approach tracker.start() }, []) //... const store = createStore( reducer, applyMiddleware(tracker.use(trackerRedux())) // check list of available options below ); }` return (

Redux

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

Initialize the tracker then put the generated middleware into your Redux chain.

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