reactjs - reactjs - 在 render() 方法中导入动态文件
问题描述
我有一个关于在reactjs
. 我已经知道,我可以像这样导入文件/图像:
import pdfImage from '../images/pdf.svg';
现在我想从道具给出的对象中导入文件。我保存的对象中有相对文件路径,即
documents/1_1_DEU_DE.pdf
问题是,在构建时,文件的路径看起来像上面的 pdf 图像。
/static/media/pdf.3fa92281.svg
所以我正在寻找类似的东西:
render() {
import pdfFile from '../' + this.props.termsAndCondition.pdfDocument;
return (
<li>
<a href={pdfFile} target="_blank">
<img src={pdfImage}></img>
{this.props.termsAndCondition.language}
</a>
</li>
);
}
当然,我知道,我可以将文件而不是src
文件夹放到public
文件夹中,但这是推荐的吗?我确信我的问题有解决方案,但我所有的研究都没有得到答案。提前致谢。
解决方案
我得到了答案。我可以用来require
动态导入文件。
render() {
let pdfFile = require('../' + this.props.termsAndCondition.pdfDocument);
return (
<li>
<a href={pdfFile} target="_blank" className="link">
<img src={pdfImage} className="phoneMain"></img>
{this.props.termsAndCondition.language}
</a>
</li>
);
}
推荐阅读
- flutter - 调用函数每页颤动
- c# - .net core web api 文件随机加载只响应的一部分
- python - Python:如何根据第一次达到每组列中的最大值来分配值?
- python - 访问具有特定值的列表中的字典
- azure - Public LoadBalancer 或 App Gateway 能否将流量重定向到 Private LoadBalancer
- asp.net-core - Asp Net Core,自定义请求标头的逻辑
- python - 使用 Python 创建一个脚本,按顺序为用户提供下一个素数并询问他们是否想要另一个
- linux - stdout 和 stderr 在 syslog 中不可见
- javascript - 如果文件不存在,则 fs.promises.readFile() 和 fs.promises.access() 都需要被捕获,是否有任何理由使用 fs.promises.access()?
- marklogic - Marklogic DHF 5.2.5 基于词典的步骤收集器