From eb60d1f091a3832dde73eba1ec1b44f8b89bba00 Mon Sep 17 00:00:00 2001 From: "rorya.lyj" Date: Sun, 16 Aug 2020 15:49:52 +0800 Subject: [PATCH] fix: onDocumentChange --- .../src/renderer-view.tsx | 22 ++++++++++++------- packages/react-renderer/package.json | 2 +- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/packages/rax-simulator-renderer/src/renderer-view.tsx b/packages/rax-simulator-renderer/src/renderer-view.tsx index 13b63e197..fe2be3b53 100644 --- a/packages/rax-simulator-renderer/src/renderer-view.tsx +++ b/packages/rax-simulator-renderer/src/renderer-view.tsx @@ -39,11 +39,23 @@ const originCloneElement = (window as any).Rax.cloneElement; }; export default class SimulatorRendererView extends Component<{ rendererContainer: SimulatorRendererContainer }> { - render() { + private unlisten: any; + + componentDidMount() { const { rendererContainer } = this.props; - rendererContainer.onDocumentChange(() => { + this.unlisten = rendererContainer.onDocumentChange(() => { this.forceUpdate(); }); + } + + componentWillUnmount() { + if (this.unlisten) { + this.unlisten(); + } + } + + render() { + const { rendererContainer } = this.props; return ( @@ -94,9 +106,6 @@ function getDeviceView(view: any, device: string, mode: string) { } class Layout extends Component<{ rendererContainer: SimulatorRendererContainer }> { - shouldComponentUpdate() { - return true; - } render() { const { rendererContainer, children } = this.props; const layout = rendererContainer.layout; @@ -125,9 +134,6 @@ class Renderer extends Component<{ this.forceUpdate(); }); } - shouldComponentUpdate() { - return true; - } render() { const { documentInstance } = this.props; const { container } = documentInstance; diff --git a/packages/react-renderer/package.json b/packages/react-renderer/package.json index 2b79201d1..e73419af9 100644 --- a/packages/react-renderer/package.json +++ b/packages/react-renderer/package.json @@ -53,5 +53,5 @@ "publishConfig": { "registry": "http://registry.npm.alibaba-inc.com" }, - "homepage": "https:/unpkg.alibaba-inc.com/@ali/lowcode-react-renderer@0.8.18/build/index.html" + "homepage": "https://unpkg.alibaba-inc.com/@ali/lowcode-react-renderer@0.8.18/build/index.html" }