JSON 文件路径中引用的 React backgroundImage 看起来很奇怪

2024-03-10

我的应用程序是使用 create-react-app 创建的,

我使用 .map 迭代我的 JSON 文件,其中存储了图像的本地路径,但我假设 create-react-app 以某种方式更改了路径,但我不明白如何更改。

const list = this.state.people.map((d, i) => { return <li
    key={i}
    className="content"
    style={{ backgroundImage: `url(${d.Picture})` }}
    >

上面是我的开头 li 标记,我在其中循环出下面 JSON 文件中的数据: “Adam”中的图片效果很好并显示在页面上,但这不是图片存储的位置。我在 chrome 开发工具中找到了该路径,所以我只是复制粘贴。

下面“Bob”中的示例是 img 的实际路径(从根目录) 我希望能够将所有图像放入 images 文件夹中,并将正确的路径存储在 JSON 文件中

{
  "Name": "Adam",
  "Born": 1971,
  "Picture": "/static/media/elonmusk.3489bce1.jpg"
},

{
  "Name": "Bob",
  "Born": 1999,
  "Picture": "/src/css/images/elonmusk.jpg"
},

上面是我的文件夹结构,App.js 是我渲染数据的地方,persons.json 是我存储文件路径的地方,images 是我存放图像的文件夹


图像需要可静态分析,因此您需要require他们。更多请参考这个背景 https://github.com/facebook/react-native/issues/7015#issuecomment-217390058 info.

因此,对于上面的示例,不要使用json文件创建一个people.js文件,而不是像这样为每个图像添加 require 语句:

// file: people.js

const people = [
  {
    id: 0,
    name: 'Adam',
    born: 1971,
    picture: require('../path/to/image.jpg')
  },
  {
    id: 1,
    name: 'Bob',
    born: 1999,
    picture: require('../path/to/image2.jpg')
  }
]

然后您可以映射此信息以生成 jsx,并且您的图像将呈现。

const people = require('../path/to/people.js')

renderPeopleList () {
  return people.map(p =>
    <div key={p.id} style={{ backgroundImage: `url(${p.picture})` />
  )
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSON 文件路径中引用的 React backgroundImage 看起来很奇怪 的相关文章

随机推荐

  • Nuget - 打包具有多个项目的解决方案(针对多个框架)

    假设我有以下解决方案 其中包含相同代码的多个版本 每个版本都针对不同的框架 并且我想从中生成一个 nuget 包 SharedLib sln SharedLib Net35 csproj packages config SharedLib
  • 为什么不允许 double 作为非类型模板参数? [复制]

    这个问题在这里已经有答案了 2003 年 是的 2003 Vandervoorde 和 Josuttis 在他们的书 C Templates 第 40 页 中写道 无法使用浮点文字 和简单的常量浮点表达式 作为模板参数有历史原因 由于不存在
  • 有没有办法让 ASP.NET 5 依赖注入在没有引用的情况下解析 DbContext?

    我正在使用 MVC 6 进行一些原型设计 但遇到了困境 我们的项目架构非常简单 数据层 实体框架 6 服务层 类库 引用数据层 表示层 MVC 4 参考服务层 does not参考数据层 我试图使设计尽可能与原始设计相似 即使在阅读 并同意
  • React-toastify 显示多个 toast

    我正在构建一个包含多个组件的 React 应用程序 并且我正在使用其中至少一半的组件React notify除了一个之外 几乎所有这些都可以正常工作 在这个中 当我触发 toast 时 我会得到四个 toast 一个在另一个后面 但我相信它
  • 如何让Web服务器(例如Apache)直接调用Python?

    重要 免责声明 我知道这可能不是一个好主意 Python 与 PHP 不同 并且使用 Python 进行 Web 开发的 自然 方式更多是使用 Bottle Flask Django 我已经使用过 之类的框架 等 但是 出于好奇 我还是想看
  • 使用 Snap.path.intersection 计算 SVG 中路径的差异和交集

    我试图找到它们之间的交集 然后使用相同的结果来获得第一条路径和第二条路径之间的差异 我正在尝试使用 Snap svg 中的 Snap path intersection 函数 这是该函数的链接http snapsvg io docs Sna
  • apache mod_rewrite 相当于node.js?

    Node js 是否有一个等效模块可以完成 Apache 的 mod rewrite 的功能 或者是否存在提供等效功能的标准语言结构 我刚刚开始使用 Node 并希望将我的服务器转换到这个平台 如果您正在寻找一个好的 modrewrite
  • 允许的内存大小 134217728 字节已耗尽(尝试分配 42 字节)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 编辑问题以包括期望的行为 特定问题或错误以及重现问题所需的最短代码 help minimal reproducible example 这
  • 如何从我的 Java 应用程序设置 Selenium 的代理设置?

    我想从我的 Java 应用程序更改 selenium 服务器的代理 当我以常见方式设置代理时 Selenium 服务器不使用此设置 我的意思是 当我启动 selenium 浏览器并访问 IP 检查服务 在 google 中搜索 我的 ip
  • 使用动态键将 json 反序列化为 C# [重复]

    这个问题在这里已经有答案了 对我的网络请求的响应如下 不受我的控制 nasdaq imbalance name nasdaq imbalance group Market Data description null DXOpen IM na
  • 编写一个有效的循环来比较 GPS 坐标

    我想遍历 GPS 坐标的数据框并删除所有彼此接近的坐标 pick first row clalulate the distance between selected and the next row if the distance is l
  • 上传文件

    使用 Angular 2 beta 我似乎无法得到
  • 如何优雅地处理时区

    我有一个网站托管在与使用该应用程序的用户不同的时区 除此之外 用户还可以拥有特定的时区 我想知道其他 SO 用户和应用程序如何处理这个问题 最明显的部分是在数据库内部 日期 时间以 UTC 存储 在服务器上时 所有日期 时间都应以 UTC
  • 将 axis.text 标签与 ggplot 中数据框变量中包含的颜色相匹配

    我想创建一个堆积条形图 其中我的axis text从数据框中的变量获取颜色值 该变量还提供条形图的颜色值fill颜色 这非常重要 因为最终视觉效果的消费者将查看一系列这些条形图 因此我需要确保每种产品类型的颜色一致 即使数量值 以及顺序 会
  • 是否可以以编程方式访问 Android Q (SDK >= 29) 上的下载文件夹?

    我想列出所有文件 txt in the Download文件夹 然后允许用户选择一个并阅读其内容 我的minSdkVersion is 16 但我遇到了这个问题 因为我的Android是Q 29 我尝试过的 显然Environment ge
  • 如何将 Conda 环境与 RStudio Server 结合使用?

    对于我的数据科学项目 我使用conda跟踪所有已安装的软件包 gt conda create n my project R 3 4 1 r tidyverse gt conda activate my project gt which R
  • 删除包含等于/不等于字符串的标题的注释?

    我花了几天时间试图删除标题等于或不等于从另一个视图控制器的 uicollection 视图单元 didSelect 中选择的字符串的注释 我将字符串传递给包含地图视图的视图控制器 我使用自定义注释 它是注释显示方式的模型 如何按标题选择和删
  • 使用 Rails 和 jQuery 动态渲染局部视图

    在我的应用程序中 我有一个用户个人资料页面 其中包含三个选项卡和下面的一个空白 div 有一个默认选项卡是白色的 另外两个选项卡是深色且 未选择 的 我想让下面的 div 中的内容根据选择的选项卡呈现部分内容 我已经让它工作到了 jQuer
  • 使用迭代器理解 len 函数

    阅读文档我注意到内置函数len不支持所有迭代 只支持序列和映射 和集合 在读这篇文章之前 我一直认为len函数使用了迭代协议来评估一个物体的长度 所以读到这个我真的很惊讶 我阅读了已经发布的问题 here https stackoverfl
  • JSON 文件路径中引用的 React backgroundImage 看起来很奇怪

    我的应用程序是使用 create react app 创建的 我使用 map 迭代我的 JSON 文件 其中存储了图像的本地路径 但我假设 create react app 以某种方式更改了路径 但我不明白如何更改 const list t