reactjs - 在 React 组件中动态导入图像
问题描述
我有一个文章组件,它显示了一个包含列出文章的博客页面。
render() {
const articles = {
...this.state.articles
}
const article = Object.keys(articles).map(cur => {
return <Article
key={this.state.articles[cur].id}
imgName={this.state.articles[cur].thumb}
title={this.state.articles[cur].title}
meta={this.state.articles[cur].meta}
clicked={() => this.detailedHandler(this.state.articles[cur].id)}
detailed={this.state.articles[cur].detailed} />
});
如您所见,我将带有道具的图像名称传递给 Article 组件。然后我想为每篇文章显示适当的图像。
如何根据我从 Articles 组件收到的 props (props.imgName) 在 Article 组件中导入图像?
解决方案
我使用了上下文。
const images = require.context('../../../assets/img', true);
loadImage = imageName => (assets(`./${imageName}`).default);
<img src={loadImage("someimage.png")} alt="" />
我不知道这是否是最佳解决方案,但它有效。
推荐阅读
- android - 如何在 Android 的外部浏览器中读取 PDF 文件
- reactjs - 更新按钮值
- javascript - 使用前一个数组的内容更新对象数组中的下一个数组
- docker - docker 容器中的防病毒软件 - fanotify 在主机和容器之间工作吗?
- python - Python 关闭失败的节目。Pytest 如何静默失败。抑制断言的回溯
- excel - 使用条件格式将导出文件从 access 格式化为 excel
- laravel - Laravel:检测控制器中的令牌不匹配
- google-cloud-platform - 在 Cloud SQL 中删除数据库的云函数
- javascript - 如何在 React 中修复 Framer Motion 动画?
- c++ - C++ 中的格式说明符