From 577e0eb5400b1f65e71f38cce7f12d993d560f09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E7=86=A0?= Date: Tue, 18 Aug 2020 13:34:33 +0800 Subject: [PATCH] fix(react-renderer): fix hasLoop logic --- packages/react-renderer/src/engine/base.jsx | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/react-renderer/src/engine/base.jsx b/packages/react-renderer/src/engine/base.jsx index 0904cd99b..2641ddae3 100644 --- a/packages/react-renderer/src/engine/base.jsx +++ b/packages/react-renderer/src/engine/base.jsx @@ -234,15 +234,18 @@ export default class BaseEngine extends PureComponent { } if (schema.loop != null) { - return this.__createLoopVirtualDom( - { - ...schema, - loop: parseData(schema.loop, self), - }, - self, - parentInfo, - idx, - ); + const loop = parseData(schema.loop, self); + if (Array.isArray(loop) && loop.length > 0 || isJSExpression(loop)) { + return this.__createLoopVirtualDom( + { + ...schema, + loop, + }, + self, + parentInfo, + idx, + ); + } } const condition = schema.condition == null ? true : parseData(schema.condition, self); if (!condition) return null;