diff --git a/packages/rax-simulator-renderer/src/renderer-view.tsx b/packages/rax-simulator-renderer/src/renderer-view.tsx index fe2be3b53..68af018e0 100644 --- a/packages/rax-simulator-renderer/src/renderer-view.tsx +++ b/packages/rax-simulator-renderer/src/renderer-view.tsx @@ -76,7 +76,7 @@ export const Routes = (props: { routes: documentInstances.map(instance => { return { path: instance.path, - component: (props: any) => + component: (props: any) => }; }) }; @@ -128,12 +128,21 @@ class Renderer extends Component<{ rendererContainer: SimulatorRendererContainer; documentInstance: DocumentInstance; }> { - constructor(props: any) { - super(props); - this.props.documentInstance.onReRender(() => { + private unlisten: any; + + componentDidMount() { + const { documentInstance } = this.props; + this.unlisten = documentInstance.onReRender(() => { this.forceUpdate(); }); } + + componentWillUnmount() { + if (this.unlisten) { + this.unlisten(); + } + } + render() { const { documentInstance } = this.props; const { container } = documentInstance;