Javascript React Native get元素相对于父元素的位置

Javascript React Native get元素相对于父元素的位置,javascript,reactjs,react-native,expo,Javascript,Reactjs,React Native,Expo,每次移动动画视图组件时,我都需要获得它在另一个视图中的位置(该视图的尺寸与设备的尺寸不匹配)。我尝试过使用“onLayout”道具,但我只在第一次渲染时获得信息 此外,我还尝试在每次移动组件时继续调用此函数: // This function get the X/Y position of a specific node const measureNode = (node) => { return new Promise((resolve) => { UI

每次移动动画视图组件时,我都需要获得它在另一个视图中的位置(该视图的尺寸与设备的尺寸不匹配)。我尝试过使用“onLayout”道具,但我只在第一次渲染时获得信息

此外,我还尝试在每次移动组件时继续调用此函数:

  // This function get the X/Y position of a specific node
  const measureNode = (node) => {
    return new Promise((resolve) => {
      UIManager.measure(node, (x, y, width, height, pageX, pageY) => {
        resolve({ pageX, pageY }); // Having problems on android with offsets so use "pageX" and "pageY"
      });
    });
  };
但是通过这个,我得到了相对于设备屏幕的位置,而不是相对于父屏幕的位置

有什么想法吗

更新 使用

在iOS上运行良好,但在android上,偏移量y和x为0

你自己试试看

只需使用我实现的那些函数就可以获得相对父位置

//此函数用于测量布局上的特定节点
常量测量节点=(节点)=>{
/* 

我认为解决方案是使用x和y而不是pageX和pageY,但当我尝试使用这些值时,我在android上没有定义。可能获取家长的位置并减去它们会起作用。我认为这是react native的问题。我已经打开了一个测试,所以任何人都可以测试它。只需在iOS上尝试并查看结果。然后,在android上尝试(哪里不起作用)但如果你能得到父母Y和孩子Y,你可以计算相对父母Y-孩子Y,对吗?我还发现以前也有类似的问题。是的,我现在要做的是关闭线程。我在GitHub上打开了一个错误报告。也许,这对将来的人会有用。
const measureNode = (node) => {
  return new Promise((resolve) => {
    UIManager.measure(node, (x, y, width, height, pageX, pageY) => {
      resolve({ x, y }); // Having problems on android with offsets
    });
  });
};