为了账号安全,请及时绑定邮箱和手机立即绑定

React:在函数组件中使用 refs

React:在函数组件中使用 refs

弑天下 2022-10-27 14:34:13
我是 React 的新手,我正在尝试弄清楚如何在我的函数组件中使用 Refs 来获取 div 的宽度。一些显示我的困惑的代码如下:import React, { useRef } from "react";import "./styles.css";export default function App() {  const eyes = useRef();  function onMouseMoveFn(e) {    const x = eyes.current.offsetX();    const y = eyes.current.offsetY();    console.log(x, y, eyes);  }  return (    <div onMouseMove={onMouseMoveFn}>      <div class="eyes" ref={eyes}>        <div class="eye" />        <div class="eye" />      </div>    </div>  );}(当您将鼠标悬停在沙盒浏览器中的眼睛上时,理想情况下应该会导致控制台显示一组眼睛的 x 和 y 坐标,但它会给出错误)在 React 的文档中,它说“但是,只要您引用 DOM 元素或类组件,您就可以在函数组件中使用 ref 属性”所以我不明白为什么上面的代码不起作用。
查看完整描述

1 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

您可以使用当前元素的函数访问偏移量getBoundingClientRect,请参见以下代码:

eyes.current.getBoundingClientRect().x


查看完整回答
反对 回复 2022-10-27
  • 1 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信