reactjs - 我在组件中有一个静态图像,取决于调用它的组件,图像可能会被破坏
问题描述
我有这个组件叫SearchBarScreen
:
import React, { useEffect } from "react";
import "./index.scss";
export const SearchBarScreen = (props) => {
return (
<>
<img src="./assets/img/logo.png" className="nav_logo" alt="logo mercadolibre" />
</>
);
};
我的项目有这样的结构:
根据我调用此组件的位置,图像可能会损坏。
例如,在上一张图片中,可以在src/components/items/components
调用它的文件夹下看到它SearchBarScreen
。例如,图像显示为已损坏,ItemDetailScreen
但未显示在 上ItemScreen
。
我总是在两个组件中以相同的方式调用它:
return (
<>
<SearchBarScreen props={props} />
</>
);
在ItemDetailScreen
在ItemDetailScreen
解决方案
如果您希望图像加载始终如一地工作,您需要将图像导入为一个组件,而不是您通常在标准 HTML 中使用的样式。
像这样:
import React, { useEffect } from "react";
import Logo from '../path/to/image';
import "./index.scss";
export const SearchBarScreen = (props) => {
return (
<>
<img src={Logo} className="nav_logo" alt="logomercadolibre" />
</>
);
};
编辑:如果您绝对必须使用我不推荐的公用文件夹,请按照以下方式操作:https ://create-react-app.dev/docs/using-the-public-folder/
您基本上会使路径成为绝对路径而不是相对路径。
参考:
推荐阅读
- python - 在 Quandl Data 上用 Python 实现 ARIMA 时出错
- aurelia - 在 Aurelia Store 的配置管道步骤中使用 @connectTo 装饰器时,状态始终未定义
- wordpress - Avantlink 订单确认与付费会员专业版集成
- salt - Salt state.apply 多次运行失败
- angular - 当解析在Angular 5中没有返回数据时停止路由更改
- javascript - 如何停止多个正在运行的鼠标事件函数
- elasticsearch - 弹性搜索映射不一致错误
- python - 使用 Python 中的两个键从 MySQL 获取表作为字典
- php - 如何在 cakePhp 模型中包含 adWords 以便能够使用它的类?
- python - TensorFlow,批量索引(第一维)和排序