React 上 img 的正确路径.js

2022-08-30 01:31:21

我在 react 项目上的图像有一些问题。事实上,我一直认为src属性的相对路径是建立在文件架构之上的。

这是我的文件架构:

components
    file1.jsx
    file2.jsx
    file3.jsx
container
img
js 
... 

但是,我意识到路径是建立在URL上的。在我的一个组件中(例如在file1.jsx中),我有这个:

localhost/details/2
<img src="../img/myImage.png" /> -> works

localhost/details/2/id
<img src="../img/myImage.png" /> -> doesn't work, images are not displayed

如何解决这个问题?我希望在 react-router 处理的任何形式的路由中,所有图像都可以使用相同的路径显示。


答案 1

图像的相对路径似乎不起作用。相反,您可以导入图像:create-react-app

import logo from './logo.png' // relative path to image 

class Nav extends Component { 
    render() { 
        return ( 
            <img src={logo} alt={"logo"}/> 
        )  
    }
}

答案 2

如果使用 create-react-app 创建项目,则可以访问公用文件夹。因此,您需要在公用文件夹内添加文件夹。image

公共/图像/

<img src="/images/logo.png" />