我尝试仅使用三元运算符将仅由用户创建的firebase数据返回到其主页,但我一直收到错误:语法错误:意外的令牌,预期 < / p>
任何人都可以看到代码出错的地方吗? 如果我将三元组包裹在删除按钮周围,它将工作,只允许用户删除它们创建的项目。我想只显示他们创建的东西。 反应代码如下:
<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>
答案 0 :(得分:2)
当我们想在JSX中放置一些js表达式时需要您可以通过将其包装为卷曲来在JSX中嵌入任何JavaScript表达式 括号。
{}
,在你的情况下它不是必需的。如果您使用{}
,则表示您正在尝试返回对象。
像这样写:
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
)