Javascript 返回同一容器下的两个li对象
所以我有,它工作得很好。但是Javascript 返回同一容器下的两个li对象,javascript,reactjs,Javascript,Reactjs,所以我有,它工作得很好。但是 <ul className="users"> {users.slice(sliceTopNum, users.length).map(user => { i++; if (i && i % 5 === 0) { return ( <li> <div> <p>I am an Ad</p>
<ul className="users">
{users.slice(sliceTopNum, users.length).map(user => {
i++;
if (i && i % 5 === 0) {
return (
<li>
<div>
<p>I am an Ad</p>
</div>
</li>
);
} else {
return (
<li>
<div>
<p>I am {coupon.name}</p>
</div>
</li>
);
}
})}
</ul>
{users.slice(sliceTopNum,users.length).map(user=>{
i++;
如果(i&&i%5==0){
返回(
-
我是一个广告
);
}否则{
返回(
-
我是{coupon.name}
);
}
})}
但我想让else同时退回2个li项目。我该怎么做?看来JSX不允许你这么做。但我相信可能有办法做到这一点。提前谢谢
<li><div><p>I am {coupon.name}</p></div></li>
<li><div><p>I am an Ad</p></div></li>
我是{coupon.name}
我是一个广告
如果您使用的是最新版本的React(16),则可以使用片段返回多个元素,而不必像div那样使用包装器元素:
<React.Fragment>
<li><div><p>I am {coupon.name}</p></div></li>
<li><div><p>I am an Ad</p></div></li>
</React.Fragment>
我是{coupon.name}
我是一个广告
这取决于您的React版本。您可以使用两个li子项将返回包装在div中,也可以使用最新版本的React.Fragment在React 15中,您必须将其放入容器中,例如,您可以在React 16中使用Fragment