【发布时间】:2018-01-04 18:42:31
【问题描述】:
这段代码没有任何条件都可以正常工作:
return (
<div id="home" className="container">
<p>Current session: {session}</p>
{ Object.keys(cart).map( (thing, i) =>
<p key={i}>{ JSON.stringify(cart[thing]) }</p>
) }
</div>
)
如果我添加这种类型的条件,它会起作用(没有地图功能):
return (
<div id="home" className="container">
{ session &&
<p>Current session: {session}</p>
}
</div>
)
但是如果我尝试从第一个示例中添加该地图功能,它就不起作用:
return (
<div id="home" className="container">
{ session &&
<p>Current session: {session}</p>
{ Object.keys(cart).map( (thing, i) =>
<p key={i}>{ JSON.stringify(cart[thing]) }</p>
)}
}
</div>
)
如何添加仅在某个条件下呈现的地图功能?我尝试了三元条件,似乎也存在类似的问题。我需要做哪些调整?
【问题讨论】:
-
当您说“它不起作用”时,您具体是什么意思?什么不起作用?这仅仅是没有根节点的问题吗?在您的第一个示例中,您有一个外部 div 来包含整个返回值...
-
首先,您的第二个 sn-p 将被解释为由于
({ … })而返回的对象。其次,假设您在 React 16+ 中,您需要将多个孩子包装在一个数组中。
标签: javascript reactjs jsx