我尝试动态显示本 Map 像列表,这些图像存储在.img /文件夹中 . React Native使用我的实现抛出错误“Unknown named module:, . / img / a1.jpg” . 我读到了动态需要图像的问题,但无法解决问题 . 你有什么建议吗?
export class ImageList extends React.Component {
constructor() {
super();
}
render() {
const datav2 = [
"./img/a1.jpg",
"./img/a6.jpg"
];
const lapsList = datav2.map((data) => {
var testPath = require(data);
return (
<View>
<Image source={testPath} style={{width: 50, height: 50, backgroundColor: "#33ff00"}} />
</View>
)
})
return (
<View>
{lapsList}
</View>
);
}
}
2 回答
您可以通过在数组中直接添加
require
来删除动态加载 .此外,您应该在
render()
方法之外移动datav2
,以便在每个渲染上不需要图像 .是的,您应该在数组中添加require,然后将datav2变量放在
render()
之外,不要忘记在视图返回中将数组映射中的index
添加为key
,这样您的应用中就没有警告,如下所示:这是我在模拟器上尝试时的结果示例:
我希望这个答案可以帮到你:)