Javascript 反应三元运算符错误

Javascript 反应三元运算符错误,javascript,reactjs,jsx,ternary-operator,Javascript,Reactjs,Jsx,Ternary Operator,我试图仅将用户使用三元运算符创建的firebase数据返回到其主页,但我不断收到错误:语法错误:意外标记,应为 有人能看出代码哪里出了问题吗? 如果我在remove按钮周围加上三元组,它就会工作,只允许用户删除由它们创建的项目。我只想显示他们创建的东西。 react代码如下所示: <ul> {this.state.items.map((item) => { return ( {item.user === this.state.user.display

我试图仅将用户使用三元运算符创建的firebase数据返回到其主页,但我不断收到错误:语法错误:意外标记,应为

有人能看出代码哪里出了问题吗? 如果我在remove按钮周围加上三元组,它就会工作,只允许用户删除由它们创建的项目。我只想显示他们创建的东西。 react代码如下所示:

  <ul>
  {this.state.items.map((item) => {
    return (
      {item.user === this.state.user.displayName || item.user === this.state.user.email
      ? <li key={item.id}>
          <h3>{item.topic}</h3>
          <p>author: {item.user}
            <button onClick={() => this.removeItem(item.id)}>Remove Item</button>
          </p>
        </li>
      : null}
    )
  })}
  </ul>
    {this.state.items.map((item)=>{ 返回( {item.user==this.state.user.displayName || item.user==this.state.user.email ?
  • {item.topic} 作者:{item.user} this.removietem(item.id)}>Remove item

  • :null} ) })}

您可以通过将任何JavaScript表达式包装成卷曲的形式将其嵌入JSX中 支架


{}
当我们想在JSX中放入一些js表达式时,需要它,在您的情况下,它不是必需的。如果您使用
{}
,则表示您正在尝试返回一个对象

这样写:

return (
    item.user === this.state.user.displayName || item.user === this.state.user.email?
        <li key={item.id}>
            <h3>{item.topic}</h3>
            <p>
                author: {item.user}
                <button onClick={() => this.removeItem(item.id)}>Remove Item</button>
            </p>
        </li>
    : null
)
返回(
item.user==this.state.user.displayName | | item.user==this.state.user.email?
  • {item.topic} 作者:{item.user} this.removietem(item.id)}>Remove item

  • :null )
    返回{}
    是无效的JavaScript。