我在图片中的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>
你知道为什么?
谢谢!
答案 0 :(得分:3)
我最近也有这个问题。看起来<Image />
组件在实际图像加载到容器之前就已安装。您可能希望使用onLoad
的{{1}}属性。一旦你这样做,你几乎可以正常进行......
<Image />
请记住,可能会或可能不会仅适用于静态资源。我不是100%网络图像通过该功能提供大小。
祝你好运! :)