我有一个来自 API 的数据,如下所示 -
{
"expression": [
"a",
"b"
],
"groups": [
{
"expression": [
],
"groups": [
{
"expression": [
"c",
"d"
],
groups: null
}
]
},
{
"expression": [
"p",
],
groups: null
}
]
}
我必须呈现表达式和组(也包括表达式和多个组)。构建块是一个表达式。我们需要将嵌套表达式显示为组。
我尝试使用递归函数调用,但对于深度较大的对象,效率并不高。
这是类似于我的试验的东西-
let conditionStack = [];
function parseInnerConditions(conditionObj) {
if (conditionObj.expression) {
conditionObj.expression.map((each, index) => {
conditionStack = [
...conditionStack,
<NewExpression key={index} conditionExpression={each} />, //renders an expression
];
});
}
if (conditionObj.groups && conditionObj.groups.length) {
return conditionObj.groups.map((child, index) => {
conditionStack = [
...conditionStack,
<ConditionGroup key={index}> // renders a block or group of expressions
{parseInnerConditions(child)}
</ConditionGroup>,
];
});
}
return conditionStack;
}
return (
<div>
parseInnerConditions(conditionObject)
</div>
)
提前致谢。
梦里花落0921
HUWWW
相关分类