0
私はliのリスト内のホバリングボタンに問題があります。ホバーした後、1つのli項目ボタンがすべてのli項目に表示されます。コードの下のcodepenにリンクします。反応すると、onMouseOverイベントは1つではなくリスト内のすべてのアイテムをトリガーします
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それは親の各子要素のホバリングを追跡しているのでどの子要素がホバリングされたかを追跡する配列を保持する。 他の方法として、ホバーハンドラ関数を子要素に移動し、各子が独自のホバリングロジックを処理する必要があります。その場合、あなたは、どの子供が抱かれていたかを追跡せずに、子供をレンダリングするだけです。 –