【发布时间】:2018-01-08 06:47:29
【问题描述】:
我正在尝试在 Image 上显示登录表单。我确实将子位置设为Absolute,但仍然出现以下错误:
图像 组件不能包含子组件。如果你想渲染 图像顶部的内容,请考虑使用绝对定位。
下面是我的Login.js:
import React, {Component} from 'react';
import {Text, View, StyleSheet, Image} from 'react-native';
import firebase from 'firebase';
export default class Login extends Component<{}>{
render (){
return (
<View style={styles.container}>
<Image source={require('../resources/images/background_image.png')} style={styles.backgroundImage} >
<View style={styles.loginContainer}>
</View>
</Image>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
},
backgroundImage: {
flex: 1,
resizeMode: 'cover',
},
loginContainer: {
position: 'absolute',
top: 0,
bottom: 0,
left: 0,
right: 0
},
});
谁能告诉我我做错了什么?
【问题讨论】:
-
可能是因为命名约定?您可以将您的组件命名为 Image 以外的其他名称吗?也许叫你组件 ImgComp 什么的
-
因为 Html 已经有一个名为 Image 的标签,它可能会导致问题
-
错误很清楚:不能包含子项。这意味着您不能将
View设置为Image的子级。 -
只需将
View标签放在Image标签下方即可。这意味着Image和子View都是顶级View的子级 -
@Khoa 不起作用我之前尝试过
标签: javascript reactjs react-native