元素推送没有关闭标签JSX

时间:2017-02-16 22:53:19

标签: javascript reactjs jsx

我想执行下面的递归函数,问题是<head> <script src="js/jquery.js"></script> <script src="js-webshim/minified/polyfiller.js"></script> <script> webshim.activeLang('en'); webshims.polyfill('forms'); webshims.cfg.no$Switch = true; </script> </head> 因为当调用该函数时,我推了一个ul标签并在ul结尾处我{关闭它。如果我在结束forEach时更改outputArray.push(<ul>),那么它可以正常工作,但这不符合我的目的。

周围有什么办法吗?

注意:这是一个递归函数。

&#13;
&#13;
</ul>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

您要做的最好的事情是:

let arr1 = [];
let arr2 = [];

您可以根据需要循环遍历并将JSX li推入arr1:

arr1.push(<li>Some content</li>);

然后,您可以将rr1的全部内容放入ul标签包裹的arr2中:

arr2.push(<ul>{arr1}</ul>);

然后简单地渲染并返回它:

render(){
return (
<div>{arr2}</div>
)
}

当您需要生成行数和列数可变的网格时,此方法非常有效。

答案 1 :(得分:0)

考虑以下结构

let enclosure = [];
loop {
   enclosure.push(jsx);
}
return (<ul>{enclosre}</ul>);