反应三元运算符错误
React ternary operator error
我尝试仅 return 使用三元运算符将仅由用户创建的 firebase 数据发送到他们的主页,但我不断收到错误消息:语法错误:意外令牌,预计
谁能看出代码哪里出错了?
如果我将三元组包裹在删除按钮周围,它将起作用,只允许用户删除他们创建的项目。我只想显示他们创建的东西。
反应代码如下:
<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>
You can embed any JavaScript expression in JSX by wrapping it in curly
braces.
{}
当我们想在 JSX 中放置一些 js 表达式时需要,在你的情况下它不是必需的。如果您使用 {}
,则表示您正在尝试 return 一个对象。
这样写:
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
)
我尝试仅 return 使用三元运算符将仅由用户创建的 firebase 数据发送到他们的主页,但我不断收到错误消息:语法错误:意外令牌,预计
谁能看出代码哪里出错了? 如果我将三元组包裹在删除按钮周围,它将起作用,只允许用户删除他们创建的项目。我只想显示他们创建的东西。 反应代码如下:
<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>
You can embed any JavaScript expression in JSX by wrapping it in curly braces.
{}
当我们想在 JSX 中放置一些 js 表达式时需要,在你的情况下它不是必需的。如果您使用 {}
,则表示您正在尝试 return 一个对象。
这样写:
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
)