[英]JSX doesn't render on conditional render alongside with map function
我想根據變量為真或假來呈現組件。 目前條件為真,但組件根本沒有渲染。
這是我的代碼:
<div className={styles.container}>
{array.map(item => {
router.query.slug != item ? <Component /> : null;
})}
</div>
我的控制台為條件router.query.slug != item
返回 true 那么我錯過了什么?
謝謝
您缺少從 map 函數返回組件。
這是與您的問題相匹配的示例:
解決方案1
<div className={styles.container}>
{array.map(item => {
return router.query.slug != item ? <Component /> : null;
})}
</div>
解決方案 2單行
<div className={styles.container}>
{array.map(item => router.query.slug != item ? <Component /> : null)}
</div>
如果使用block
語法,則需要指定 return 關鍵字。 了解有關箭頭函數的更多信息
試試這個方法。
例子:
<div className={styles.container}>
{array.map(item => {
return (router.query.slug != item ? <Component /> : null)
})}
</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.