React Native - 获取组件在视图中的位置
React Native - Get the position of a component in the View
我正在尝试获取组件在 React Native 中的位置。
说我有一个观点:
<ScrollView>
lots of items...
lots of items...
lots of items...
<View></View>
</ScrollView>
最后我希望能够最终滚动到视图所在的位置。
此 link 展示了如何使用本机 ui 经理获得职位,但是当 运行 它 returns:
"Attempted to measure layout but offset or dimensions were NaN"
React Native: Getting the position of an element
我试过了
this.refs.VIEW.measure((ox, oy, width, height, px, py) => {
//ox ... py all = 0
});
有时,如果您在 componentDidMount 中使用测量,则必须将其包装在 setTimeout 中:
setTimeout(() => {
this.refs.VIEW.measure((ox, oy, width, height, px, py) => {
});
}, 0);
您可能希望在 View 组件上使用 onLayout 回调。 setTimeout 可能无法在 100% 的时间内工作。
<View onLayout={this.measureMyComponent} />
我正在尝试获取组件在 React Native 中的位置。
说我有一个观点:
<ScrollView>
lots of items...
lots of items...
lots of items...
<View></View>
</ScrollView>
最后我希望能够最终滚动到视图所在的位置。
此 link 展示了如何使用本机 ui 经理获得职位,但是当 运行 它 returns:
"Attempted to measure layout but offset or dimensions were NaN"
React Native: Getting the position of an element
我试过了
this.refs.VIEW.measure((ox, oy, width, height, px, py) => {
//ox ... py all = 0
});
有时,如果您在 componentDidMount 中使用测量,则必须将其包装在 setTimeout 中:
setTimeout(() => {
this.refs.VIEW.measure((ox, oy, width, height, px, py) => {
});
}, 0);
您可能希望在 View 组件上使用 onLayout 回调。 setTimeout 可能无法在 100% 的时间内工作。
<View onLayout={this.measureMyComponent} />