返回renderRow时,图像背景组件出现问题。
import back1 from '../../assets/back1.jpg';
renderRowpost = ({ item }) => {
return (
MORECONTENT....
{item.imgfondo ? //IF EXIST BACK IMAGEN
<View key={"viwid_" + item.postid} style={styles.warptextopost}>
<ImageBackground source={back1}>
<Text key={"text_id" + item.postid} style={styles.stylpublictext} >{item.posttexto}</Text>
</ImageBackground>
</View>
: //as there is no image I place the text without background
<View key={"viwid_" + item.postid} style={styles.warptextopost}>
<Text key={"text_id" + item.postid} style={styles.stylpublictext} >{item.posttexto}</Text>
</View>
}
)
}
//Where I show all the content I get from RenderrenderRowpost
<FlatList
data={this.state.datapost}
renderItem={this.renderRowpost}
keyExtractor={(item, index) => index.toString()}
/>
,并且出现以下错误: Invariant Violation:元素类型无效-预期为字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。您可能忘记了从定义文件中导出组件,或者可能混淆了默认导入和命名导入。 ,但是如果我删除了ImageBackground组件或放置了Image组件(无文本)内部)如果显示正常内容,则仅在放置ImageBackground组件时给我错误,有解决方案吗?我需要在“视图”中放置一个背景图像及其相应的文本,非常感谢..
答案 0 :(得分:1)
按如下方式加载图像
<ImageBackground source={require('../../assets/back1.jpg')}>
...
</ImageBackground>
我想您不能像导入js模块时那样导入图像。