javascript – 如何在React中通过ref获取组件的位置?

前端之家收集整理的这篇文章主要介绍了javascript – 如何在React中通过ref获取组件的位置?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为我的应用程序使用React 15.3.1.所以,我需要在它的父级中获得Component x和y位置.孩子像这样呈现:
<Icon key={key} ref={(c) => this['icon' + key] = c}}/>;

这就是我尝试访问Icon(基本上是div)的位置:

let icon = this['icon' + this.state.currentIcon.id];
icon.getBoundingClientRect(); //Error: "getBoundingClientRect" is not a function

孩子是对的,我可以在调试器中看到它的道具.但我看不到任何属性,如getBoundingClientRect,left,top或任何其他位置属性.得到它们我需要做什么?

解决方法

你的引用将引用Icon,我猜它是一个React组件.在getBoundingClientRect方法可用之前,您需要解析实际的React Element(DOM元素).

您可以通过ReactDOM.findDOMNode()功能执行此操作.

let icon = this['icon' + this.state.currentIcon.id];
const domNode = ReactDOM.findDOMNode(icon);
domNode.getBoundingClientRect()
原文链接:https://www.f2er.com/js/150301.html

猜你在找的JavaScript相关文章