0
我有问题悬停在李列表中的按钮。盘旋一个李项按钮后显示每一个李项。链接到codepen下面的codepen。反应,onMouseOver事件触发列表中的所有项目而不是一个
const ItemView = (props) => {
return <li
onMouseOver={() => props.onMouseOver()}
onMouseMove={() => props.onMouseOver()}
onMouseLeave={() => props.onMouseLeave()}
>
<div className="item__row">
<h5>{props.name}</h5>
<h6>Age: {props.age}</h6>
<p>{props.strenght}/100</p>
{props.isHover ? props.children[0] : null}
</div>
{props.children[1]}
</li>
}
Codepen:https://codepen.io/dominik3246/pen/QqKzzp
多数民众赞成在伟大的,但如果我不知道我会得到多少数据呢?我的意思是喜欢读取数据,有时我可以接收5个数据项,有时是100个。在这里,不幸的是,你需要手动设置isHover状态 – dominik
@dominik那是因为你跟踪每个子元素在父项中的盘旋因此你有保持一个数组来跟踪哪个子元素被徘徊。 另一种方法是将悬停处理函数移动到子元素,以便每个孩子负责处理其自己的悬停逻辑。在那种情况下,你只需要渲染孩子而不会跟踪哪些孩子被徘徊。 –