【问题标题】:Flatlist won't show images from json (React Native)Flatlist 不会显示来自 json 的图像(React Native)
【发布时间】:2019-04-11 07:53:15
【问题描述】:

我的应用程序中没有显示我的图像。

我正在使用 FlatList:

这是我的 javascript 文件,其中包含我导入视图的 json:

我一直在尝试很多方法来让 Image 组件接受图像,但它只是没有显示,我一直在尝试的许多方法都没有显示为错误,图像只是没有显示在全部。

希望有人能帮助我摆脱这个困境,被困了好几天,像疯子一样在谷歌上搜索-.-

【问题讨论】:

    标签: javascript json react-native


    【解决方案1】:

    您的代码中有 2 个问题:

    1. 本地图片需要使用require 而不是{ uri: '' }
    2. 当您使用require 时,您不能将变量作为路径传递,因此您只需要传递文字字符串。

    所以替换你的颜色数组中的每个路径行以包含require

    示例:

    {
      id: 1,
      path: require('../../assets/character-customs/albert/colors/c1.png'),
    }
    

    也用这个更新Image组件行

    <Image style={styles.images} source={item.path} />
    

    这应该适合你

    【讨论】:

    • 我确实尝试过。问题是,我这样做时出错了。错误:第 22 行的无效调用:require(item.path)
    • 是的,这是正确的require 不会接受您需要传递文字字符串的变量,我更新了答案,这应该适合您
    • 不要忘记将源替换为source={item.path},如答案中所述
    • 不,仍然没有显示:/。这是非常奇怪的原因,当我 console.log(item) 获得正确的路径时,我需要但让图像显示在应用程序中似乎几乎是不可能的。不知道为什么什么都行不通。
    • 您确定路径正确吗?我的意思是../../?我确信代码应该可以工作,因为我通常是这样做的......开始使用路径确保图像存在于该路径中
    【解决方案2】:

    对我来说,flatlist 将所有数据包装在 item 内,所以这解决了我的问题

     <Image source={{uri:item.path}}/>
    

    如果这不起作用,请尝试从 renderitem 方法记录项目

    【讨论】:

      猜你喜欢
      • 2021-12-19
      • 2022-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 2018-07-14
      • 2021-05-17
      相关资源
      最近更新 更多