My Code:当我将鼠标悬停在任何元素上时,控制台中总是打印数组的最后一个元素。我试着用裁判,不确定我做得对不对。我期望悬停在任何元素上时,元素内容将被控制台记录。
(我会删除这个问题,一旦它被回答,有类似的问题之前问,但我无法得到他们,谢谢!提前)
i86rm4rw1#
如果我对你的问题理解正确的话,你可以在不使用useRef的情况下实现它,如下所示:
const array = [12,34,54,122,0]; function enterMouse(event){ console.log(event.target.innerHTML) } return ( <div className="App"> { array.map((e,index)=> <h1 key={index} onMouseEnter={enterMouse}>{e}</h1>) } </div> ); }
8e2ybdfx2#
将当前元素的索引作为参数传递给enterMouse函数。
import "./styles.css"; import { useRef } from "react"; export default function App() { const array = [12, 34, 54, 122, 0]; const myRef = useRef(null); function enterMouse(index) { console.log(array[index]); } return ( <div className="App"> {array.map((e, index) => ( <h1 onMouseEnter={() => { enterMouse(index); }} ref={myRef} > {e} </h1> ))} </div> ); }
2条答案
按热度按时间i86rm4rw1#
如果我对你的问题理解正确的话,你可以在不使用useRef的情况下实现它,如下所示:
8e2ybdfx2#
将当前元素的索引作为参数传递给enterMouse函数。