javascript 如何在Functional组件中访问react中Map的div的内容(DOM节点)

wrrgggsh  于 2023-05-05  发布在  Java
关注(0)|答案(2)|浏览(133)

My Code:
当我将鼠标悬停在任何元素上时,控制台中总是打印数组的最后一个元素。
我试着用裁判,不确定我做得对不对。
我期望悬停在任何元素上时,元素内容将被控制台记录。

  • 请建议如何访问悬停的任何元素内容的任何方式。*

(我会删除这个问题,一旦它被回答,有类似的问题之前问,但我无法得到他们,谢谢!提前)

i86rm4rw

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>
  );
}
8e2ybdfx

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>
  );
}

相关问题