【问题标题】:Passing Image name from Json with React使用 React 从 Json 传递图像名称
【发布时间】:2019-01-08 15:04:25
【问题描述】:

大家好,我正在尝试使用 React 显示 JSON 数据。除了图像名称之外,来自 Json 的所有数据都显示没有任何问题。你能告诉我我哪里错了吗?

Json 文件和图像在同一个目录中,因此我认为 img src="../banana.jpg" 可以。

这是我的 js 文件

import React, { Component } from 'react'
import ProductInfo from '../plist.json'

class Products extends Component {

  render() {
    return (
      <div>
        {ProductInfo.map((postDetail, index) => {
          return (
            <div>
              <div class="container">
                <div class="row">
                  <div class="col-lg-4">
                    <h1>{postDetail.name}</h1>
                    <p>{postDetail.price}</p>
                    <p>{postDetail.description}</p>
                    <img src="../{postDetail.image}" alt="Product Image"/>
                  </div>
                </div>
              </div>
            </div>
          )
        })}
      </div>
    )
  }
}

export default Products

这里是 Json 文件

[
   {
      "name":"Banana",
      "price":"3,99",
      "description":"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt.",
      "image":"banana.jpg",
      "profileUrl":"#"
   },
     {
      "name":"Apple",
      "price":"1,99",
      "description":"Sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.",
      "image":"apple.jpg",
      "profileUrl":"#"
}
]

这里是我遇到的错误

【问题讨论】:

  • 你试过
  • 这实际上是我尝试过的,但是我将旧版本的代码复制到了这个问题,现在我改变了这个问题。 :) 所以当我检查我看到的页面时它没有工作

标签: json reactjs


【解决方案1】:

尝试要求图像,它会告诉 webpack 或任何捆绑器使用图像计数

<img src={require(`../${postDetail.image}`)} />

我的猜测是你正在指向文件 ../banana.jpg,一旦你捆绑了你的程序,它就不存在了。

【讨论】:

  • 在 devtools 的控制台中说什么?你能筛选一下你的项目结构吗?
  • 无法编译 ./src/components/main.js 未找到模块:无法解析 'C:\Users\Admin\Desktop\ 中的 '../${postDetail.image}' FrontEnd\React\tutorial\src\components' 此错误发生在构建期间,无法解除。
  • 嗯,你有错误的报价,使用我发布的那些``。您可以阅读这里的内容developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
  • 啊,你是对的。我已经更改了引号,这是我得到的(匿名函数) C:/Users/Admin/Desktop/FrontEnd/React/tutorial/src/components/main.js:20 17 |

    {postDetail.name}

    18 |

    {postDetail.price}

    19 |

    {postDetail.description}

    > 20 | ../${postDetail.image})} /> | ^ 21 | 22 | 23 |查看编译
  • @allstar 抱歉此时可能截图或完整消息会有所帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-30
  • 2017-05-25
相关资源
最近更新 更多