【发布时间】:2021-06-07 22:50:49
【问题描述】:
我对代码中的 "className={obj.id === id ? "panel active" : "panel"}" 有疑问。
这个项目是当我点击其中一张图片时,它会拉伸。
我想在第一个加载页面上显示第一张图片,如果我点击其中一张图片,然后显示另一张图片。
如何在三元运算符中选择第一个孩子?
我试过“panel active:fistChild”,但我想不通。
我的代码是
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
const [obj] = useState([
{
id: 1,
backgroundImage:
"https://images.unsplash.com/photo-1558979158-65a1eaa08691?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80",
},
{
id: 2,
backgroundImage:`enter code here`
"https://images.unsplash.com/photo-1572276596237-5db2c3e16c5d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80",
},
{
id: 3,
backgroundImage:
"https://images.unsplash.com/photo-1507525428034-b723cf961d3e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1353&q=80",
},
]);
const [id, setId] = useState(0);
const onclick = (id) => {
setId(id);
};
return (
<div className="container">
{obj.map((obj) => {
return (
<div
className={obj.id === id ? "panel active" : "panel"}
onClick={(e) => onclick(obj.id)}
>
<img src={obj.backgroundImage} alt="" />
</div>
);
})}
</div>
);
【问题讨论】: