【发布时间】:2020-12-21 04:02:16
【问题描述】:
当我连接源字符串时,我有来自道具的图像源:require(../assets/images/${props.image})。然后我在图像的源属性上调用它我得到一个错误:失败的道具类型:无效的道具source提供给Image。
有人可以帮忙吗,非常感谢
function Category(props) {
let image = `require(../assets/images/${props.image})`;
console.log(image);
return (
<TouchableOpacity style={styles.container}>
<View>
<Image style={{ width: 60, height: 60 }} source={image}></Image>
<Image style={{ height: 10, width: 12 }} source={require('../assets/images/Layer1.png')}></Image>
</View>
<View></View>
</TouchableOpacity>
);
}
Category被FlatList上的renderItem调用,item.image为image的文件名:layer1.png, layer2.png... 父组件 - MainScreen:
function MainScreen({ navigation }) {
return (
<Screen style={styles.container}>
<Header isHome={true}>HOME</Header>
<ScrollView>
<View style={styles.main}>
<Carousel data={bannerSlide} />
<Text>Go to Detail</Text>
<View style={styles.category}>
<FlatList
style={styles.dishList}
data={dishList}
keyExtractor={item => item.label.toString()}
horizontal
snapToAlignment="center"
scrollEventThrottle={16}
showsHorizontalScrollIndicator={false}
renderItem={({ item }) =>
<Category
name={item.name}
image={item.image}
/>
}
/>
</View>
</View>
</ScrollView>
</Screen>
);
}
【问题讨论】:
-
在您的问题中需要更多信息。在您使用 Category 组件的地方包含您的父组件。
-
我刚刚更新了我的问题
标签: react-native