我在JSON数据集的页面上渲染组件 - 类似于
[
{
"name": "compA",
"label": "CompA Label"
},
{
"name": "compB",
"children": [
{
"name": "compC"
}
]
}
]
renderElements = elements => {
elements.map(element => {
// get component based on name
let Component = getComponentByName(element.name);
return (
<Component>
{element.children && renderElements(elements.children)}
</Component>
);
});
};
我有一个类似于上面的伪代码的代码,它根据JSON数据集动态呈现组件。但是,在某些情况下,JSON数据集会在页面上多次加载,并且有些情况下第二个/第三个数据集中的某个名称与第一个数据集中的名称匹配,在这种情况下,我需要重新使用已从第一个数据集渲染的组件,并将子项动态合并/注入已渲染的组件。
最好的方法是什么?
这几乎就像我需要一个单例组件实例,如果已经渲染,应该重新使用它。但由于这种做法不受欢迎,我正试图找到正确的方法来做到这一点。任何帮助,将不胜感激。提前谢谢。