Reactjs 如何在ReactXP中检测屏幕大小变化/设备旋转?

Reactjs 如何在ReactXP中检测屏幕大小变化/设备旋转?,reactjs,react-native,reactxp,Reactjs,React Native,Reactxp,比如说,是否有一个我可以连接的事件来检测屏幕大小的变化,这样我就可以让我的元素响应地调整自己的大小 我已经完成了一半,因为我可以通过API检索顶级元素的当前大小: 但这只是一个一次性的电话。现在我想订阅一个处理程序,它将在“窗口”调整大小时被调用。例如,桌面用户调整浏览器窗口的大小或移动用户将设备旋转90° ReactXP对此有API吗?好的,找到了解决方案:订阅的onLayout事件会导致处理程序在窗口或屏幕大小更改(包括旋转)时触发 代码: 我想这是符合事实的 要使其工作,视图必须是Reac

比如说,是否有一个我可以连接的事件来检测屏幕大小的变化,这样我就可以让我的元素响应地调整自己的大小

我已经完成了一半,因为我可以通过API检索顶级元素的当前大小:

但这只是一个一次性的电话。现在我想订阅一个处理程序,它将在“窗口”调整大小时被调用。例如,桌面用户调整浏览器窗口的大小或移动用户将设备旋转90°


ReactXP对此有API吗?

好的,找到了解决方案:订阅的onLayout事件会导致处理程序在窗口或屏幕大小更改(包括旋转)时触发

代码:

我想这是符合事实的


要使其工作,视图必须是React树的顶级元素。它不适用于嵌套在其他视图中的视图。

确定,找到了解决方案:订阅的onLayout事件会导致处理程序在窗口或屏幕大小更改(包括旋转)时触发

代码:

我想这是符合事实的


要使其工作,视图必须是React树的顶级元素。它不适用于嵌套在其他内容中的视图。

请参阅此软件包+Harrison谢谢,我会检查它。然而,我想知道ReactXP本身是否实现了这一点。我更喜欢使用react XP界面,它可以跨web和本机工作,而不是在react本机调用中进行黑客攻击。请参阅此软件包+Harrison谢谢,我会检查一下。然而,我想知道ReactXP本身是否实现了这一点。我更喜欢使用react XP界面,它可以跨web和本机工作,而不是在react本机调用中进行黑客攻击。
  UserInterface.measureLayoutRelativeToWindow(that).then(dimensions => {
    // dimensions.width, dimensions.height
  });
onLayout() {
  UserInterface
    .measureLayoutRelativeToWindow(this)
    .then(screenSize =>
      console.log("event", event));
}

onLayout(event: ViewOnLayoutEvent) {
    console.log("event", event);
}

...
<View onLayout={this.onLayout}>
    ...
</View>
event {x: 0, y: 0, width: 840, height: 1639}