gpt4 book ai didi

react-native - 映射数组并渲染图像时不显示图像

转载 作者:行者123 更新时间:2023-12-04 04:05:51 26 4
gpt4 key购买 nike

我的项目中有这组图像。

this.state.destinations = [{
"destinationId": "001",
"img": "../../assets/img/destinations/001.png"
},
{
"destinationId": "002",
"img": "../../assets/img/destinations/002.png"
},
{
"destinationId": "003",
"img": "../../assets/img/destinations/003.png"
}]
}

我试图在 Image 组件中的 View 中重复它们中的每一个,如下所示:
render() {

var {navigate} = this.props.navigation;

return (
<LinearGradient
colors={['#514A9D', '#24C6DC']} start={[0.0, 0.5]} end={[1.0, 0.5]} locations={[0.0, 1.0]} style={{flex:1}}>
<ScrollView>
{
<View style={{paddingTop: 24}}>
{
this.state.destinations.map(dest => {
return <Image style={{height: 200, width: 600}} key={dest.destinationId} source={require(dest.img)} resizeMode="contain" />
})
}
</View>
}
</ScrollView>
</LinearGradient>
);
}

但是当我尝试运行时,我的手机出现了一些疯狂的错误:

Error

我试图在 expo 中运行该应用程序,我只是在 react-native 模式下开发它,而不是 react-native-init 模式。

最佳答案

尝试按以下方式重构代码,将 require 的使用直接移至定义数据的位置,以便正确评估静态资源路径:

this.state.destinations = [{
"destinationId": "001",
"img": require("../../assets/img/destinations/001.png")
},
{
"destinationId": "002",
"img": require("../../assets/img/destinations/002.png")
},
{
"destinationId": "003",
"img": require("../../assets/img/destinations/003.png")
}]
}

然后更新渲染方式 <Image />像这样,删除对 require() 的调用并引用 dest.img直接地:
this.state.destinations.map(dest => {
return <Image source={dest.img}
key={dest.destinationId}
style={{height: 200, width: 600}}
resizeMode='contain' />
})

希望这可以帮助!

关于react-native - 映射数组并渲染图像时不显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51937819/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com