为了账号安全,请及时绑定邮箱和手机立即绑定

循环中的JSX条件元素

循环中的JSX条件元素

慕仙森 2019-04-18 14:15:42
如何在条件上定义标记的开放并在另一个条件上关闭标记。在下面的示例中,我试图将每两个元素包装在一个新行上。但似乎没有用。样本 - https://jsfiddle.net/reactjs/69z2wepo/render() {     let menuItems = [];     for (var i = 0; i < 10; i++) {         menuItems.push(         {i%2 !== 0 ? <div class="row">:<>}         <div>hi</div>         {i%2 === 0 ? </div>:<>}         );     }     return <div>{menuItems}</div>;   }
查看完整描述

4 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

这样做怎么样?

  render() {
      let menuItems = [];
      for (var i = 0; i < 10; i++) {
          const hi = <div>hi</div>
          const item = i%2 === 0
              ? <div className="row">{hi}{hi}</div>
              : hi;
          menuItems.push(item);
      }
      return <div>{menuItems}</div>;
  }

您可能还想添加一个'key'属性,因为react会对元素数组发出警告。


查看完整回答
反对 回复 2019-05-17
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

如果你想要的输出只是下面没有其他约束的东西(即每行内总是两个hi)


<div className="row">

   <div>hi</div>

   <div>hi</div>

</div> 

<div className="row">

   <div>hi</div>

   <div>hi</div>

</div>

..........

你可以做:


let menuItems = []

for(let i = 0 ; i < 5; i++){

  menuItems.push(<div className="row"><div>hi</div><div>hi<div></div>)

}


查看完整回答
反对 回复 2019-05-17
  • 4 回答
  • 0 关注
  • 722 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信