React Native - 在视图

时间:2015-07-24 18:16:32

标签: react-native

我正在尝试以原生的方式获取组件的位置。

说我有一个观点:

<ScrollView>
    lots of items...
    lots of items...
    lots of items...
    <View></View>
</ScrollView>

最后,我希望能够最终滚动到View所在的位置。

此链接显示如何使用本机ui管理器获取位置,但是在运行时它返回:

“尝试测量布局但偏移或尺寸为NaN”

React Native: Getting the position of an element

我试过

this.refs.VIEW.measure((ox, oy, width, height, px, py) => {
    //ox ... py all = 0
});

2 个答案:

答案 0 :(得分:11)

您可能希望在View组件上使用onLayout回调。 setTimeout可能无法在100%的时间内工作。

<View onLayout={this.measureMyComponent} />

答案 1 :(得分:10)

有时如果您在componentDidMount中使用measure,则必须将其包装在setTimeout中:

setTimeout(() => {
    this.refs.VIEW.measure((ox, oy, width, height, px, py) => {
    });
}, 0);