Skip to content

Commit 9c545cc

Browse files
liujupingJackLian
authored andcommitted
fix: fix render module state expression initialization exception
1 parent 9a5a04a commit 9c545cc

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

packages/react-simulator-renderer/src/renderer-view.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import cn from 'classnames';
44
import { Node } from '@alilc/lowcode-designer';
55
import LowCodeRenderer from '@alilc/lowcode-react-renderer';
66
import { observer } from 'mobx-react';
7-
import { getClosestNode, isFromVC } from '@alilc/lowcode-utils';
7+
import { getClosestNode, isFromVC, isReactComponent } from '@alilc/lowcode-utils';
88
import { GlobalEvent } from '@alilc/lowcode-types';
99
import { SimulatorRendererContainer, DocumentInstance } from './renderer';
1010
import { host } from './host';
@@ -241,6 +241,11 @@ class Renderer extends Component<{
241241
});
242242
}
243243

244+
if (!isReactComponent(Component)) {
245+
console.error(`${viewProps._componentName} is not a react component!`);
246+
return null;
247+
}
248+
244249
return createElement(
245250
getDeviceView(Component, device, designMode),
246251
viewProps,

packages/renderer-core/src/renderer/page.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,9 @@ export default function pageRendererFactory(): IBaseRenderComponent {
2020

2121
async componentDidUpdate(prevProps: IBaseRendererProps, _prevState: {}, snapshot: unknown) {
2222
const { __ctx } = this.props;
23-
const prevState = this.__parseData(prevProps.__schema.state, __ctx);
24-
const newState = this.__parseData(this.props.__schema.state, __ctx);
25-
// 当编排的时候修改schema.state值,需要将最新schema.state值setState
26-
if (JSON.stringify(newState) != JSON.stringify(prevState)) {
23+
// 当编排的时候修改schema.state值,需要将最新 schema.state 值 setState
24+
if (JSON.stringify(prevProps.__schema.state) != JSON.stringify(this.props.__schema.state)) {
25+
const newState = this.__parseData(this.props.__schema.state, __ctx);
2726
this.setState(newState);
2827
}
2928

0 commit comments

Comments
 (0)