类型错误:未定义不是对象(评估“style.width”)
2017-11-20
21675
我想将汽车图像放在背景图像上,仅此而已。
import React, { Component } from 'react';
import {
...
Animated,
ImageBackground
} from 'react-native';
export default class App extends Component {
render() {
return (
<ImageBackground imageStyle={styles.container} source={require('./src/assets/img/road1.jpg')}>
<Animated.Image style={styles.car} source={require('./src/assets/img/car2.png')}>
</Animated.Image>
</ImageBackground>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
position: 'relative',
resizeMode: 'cover'
},
car:{
position:'absolute',
width:100,
height:50
}
});
Type error:undefined is not an object(evaluating 'style.width')
好的,但为什么它需要“style.width”,即使我使用了 resizeMode:'cover' 我也在样式对象中设置了宽度和高度属性,仍然出现相同的错误。我该如何解决这个问题?
1个回答
您的错误来自 ImageBackground.js。
您正在将容器样式作为属性提供给 ImageBackground,这需要其中存在宽度。
您正在通过无效属性
imageStyle
提供样式。它应该作为
style
提供。>
尝试:
<ImageBackground style={styles.container} source={require('./src/assets/img/road1.jpg')}>
<Animated.Image style={styles.car} source={require('./src/assets/img/car2.png')}>
</Animated.Image>
</ImageBackground>
Manoj Prabhakar
2017-11-21