【问题标题】:How to add a condition on a div in react jsx element如何在反应jsx元素中的div上添加条件
【发布时间】:2020-09-10 12:03:42
【问题描述】:

我有一个 jsx 结构,看起来像

这里我为 div 元素添加了item.hideon。但我想做的是

 <div className={css.maincon}>
        {switchItems.map(item => (
          { !item.hideOn &&  <div key={item.id} className={css.toggle}>
              <span className={css.toggleLabel}>{item.uncheckedValue}</span>
              <span>
                <Switch
                  key={`${item.id}-switch`}
                  name={item.id}
                  checked={item.isChecked}
                  onChange={e => handleChange(e, item.id)}
                  defaultChecked
                  color='default'
                />
              </span>
              <span className={css.toggleLabel}>{item.checkedValue}</span>              
          </div> }
        ))}
      </div>

这里试图在整个 div 本身上添加 hideOn。当我尝试这样做时,我收到一个编译时错误':' expected,不确定为什么会这样。谁能帮帮我。

谢谢。

【问题讨论】:

  • 我看不到您在 div 元素或第一个代码示例中的每个元素上添加 item.hideon 的位置
  • 是的,在第一个示例中,我已将其添加到每个 div 上,这符合我的目的,但我尝试的是在第二个示例中,我已将其添加到以键为项目的 div 上。身份证
  • 我想了解你是如何将它添加到 div 元素上的。如果不看到有问题的代码,很难帮助您
  • { !item.hideOn &&
    嘿,我试着在这一行添加它
  • 这个给了我错误,你可以在第二个例子中看到

标签: javascript html reactjs jsx


【解决方案1】:

首先您可以尝试删除 map 函数中的大括号 {}。它已经返回,您可以检查一个语句为 !item.hideOn。

尝试删除尖线中的大括号。

{switchItems.map(item => (
  !item.hideOn && (<div key={item.id} className={css.toggle}> // this line <=
    // inside of your div          
  </div>) // and this line<=
))}

如果这不起作用。试试三元。

!item.hideOn ?你的 div : null

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签