【发布时间】:2021-02-05 06:34:45
【问题描述】:
我正在尝试在单击按钮时有条件地呈现对象的一部分(用户评论)。
正在从 Firebase 数据库中提取对象。
我有多个对象,只想为我单击的 Result 组件呈现 cmets。
用户评论与姓名、日期和评分等所有其他信息存储在同一个对象中。
我最初的方法是为每个 Result 组件设置一个布尔值 false 并尝试将此值更改为 false,但似乎无法使其正常工作。
下面附上代码和图片,任何帮助将不胜感激。
{
accumRating: 3.7
adheranceRating: 4
cleanRating: 2
date: "2020-10-10"
place: "PYGMALIAN"
staffRating: 5
timestamp: t {seconds: 1603315308, nanoseconds: 772000000}
userComment: "Bad"
viewComment: false
}
const results = props.data.map((item, index) => {
return (
<div className='Results' key={index}>
<span>{item.place}</span>
<span>{item.date}</span>
<Rating
name={'read-only'}
value={item.accumRating}
style={{
width: 'auto',
alignItems: 'center',
}}
/>
<button>i</button>
{/* <span>{item.userComment}</span> */}
</div >
)
})
【问题讨论】:
-
您是否尝试过使用短路运算符?
{item.viewComment && <span>{item.userComment}</span>} -
您希望切换按钮显示 cmets 吗? viewComment 来自 firebase 还是您手动设置?
-
@Rohitha 是的,基本上我想要一个切换按钮来查看更多信息(cmets)并在名称、日期和评级下方显示 cmets。 viewComment 来自 Firebase。也许我应该改变这个?
-
不,可以根据viewComment设置状态并渲染。
-
检查一下,我创建了一个小演示。 codesandbox.io/s/tender-bell-nsgsw
标签: javascript reactjs ecmascript-6 frontend