根据您期望的图像数量,您可以尝试将
images.js文件放置在文件
assets/images夹中,
require如下所示:
// assets/images/images.jsconst images = { rohit: require("./rohit.png"), bhavya: require("./bhayva.png")}export default images;然后在您的中
MainComponent,如果您要剪裁 资产:/中的 部分字符串,
uri则可以使用:
import images from "../assets/images"{initialArr.map((prop, key) => { return ( <View style={styles.container}> <Image source={images[prop.uri]} style={styles.image}></Image> <Text key={key}>{prop.uri}</Text> </View> );})}如果要处理大量图像,则
images.js文件将变得难以维护,在这种情况下,您可以尝试使用https://github.com/dushaobindoudou/babel-
plugin-require-all之类的插件,然后编写一个小的脚本,它将创建图像的字典,例如:
// prepareImages.jsconst fs = require("fs");const files = fs.readdirSync("./assets/images").filter(x => x.includes("png"));const ex = "{n" +files.map(x => `"${x.split(".png")[0]}": require("./${x}"),`).join("n") + "}";const res = "export default " + ex;fs.writeFileSync("./assets/images/index.js", res);


