onLayout with Image - React Native

时间:2017-08-03 20:31:17

标签: react-native

我在图片中的onLayout有问题:

我有一个显示尺寸的功能。

measureView(event) {
   console.log(event.nativeEvent.layout.width);
   console.log(event.nativeEvent.layout.height);
}

这是Works并向我展示了TouchableWithoutFeedback的维度

<TouchableWithoutFeedback
 style={styles.touchableWithoutFeedback}
 onLayout={(event) => this.measureView(event)}>
     <Image style={styles.image} 
     source={require("./../assets/images/photo_1.jpg")}/>
</TouchableWithoutFeedback>

但是使用图像中的onLayout,我什么都没有,只是未定义。

<TouchableWithoutFeedback
 style={styles.touchableWithoutFeedback}>
     <Image style={styles.image} 
     source={require("./../assets/images/photo_1.jpg")}
     onLayout={(event) => this.measureView(event)}/>
</TouchableWithoutFeedback>

你知道为什么?

谢谢!

1 个答案:

答案 0 :(得分:3)

我最近也有这个问题。看起来<Image />组件在实际图像加载到容器之前就已安装。您可能希望使用onLoad的{​​{1}}属性。一旦你这样做,你几乎可以正常进行......

<Image />

请记住,可能会或可能不会仅适用于静态资源。我不是100%网络图像通过该功能提供大小。

祝你好运! :)