javascript - 从 React 中的文件夹加载本地存储图像的正确方法

标签 javascript reactjs

我正在调用 OpenWeatherMap API 并在响应中获取 iconID喜欢01d04n .我已经在 /src 中的本地目录下设置了所有图像。并将它们命名为01d.png , 04n.png等等

我已经通过了这个 iconID通过props到我的Current.js组件,我不知道如何显示具有特定 ID 名称的图像。

例如:

我想显示图片 01d.png如果来自服务器的响应等于 01d

附言:

props.icon存储服务器的数据,确实是好数据。

import React from 'react';
import classes from './Current.module.css';

const current = (props) => {
    return (
        <div className={classes.Current}>
            <p>Temperature: {props.temperature}</p>
            <p>Minimum Temperature: {props.minimumTemperature}</p>
            <p>Maximum Temperature: {props.maximumTemperature}</p>
            <p>Humidity: {props.humidity}</p>
            <img src={'../../icons/' + props.icon + '.png'}[enter image description here][1] alt={props.icon}/>
        </div>
    )
}

export default current;

这是我的文件夹结构的截图

最佳答案

首先确保images文件夹不在src之外, 然后像这样加载图像

<img src={require(`../../icons/${props.icon}.png`)} />

或者如果只有一个图像 id 传递给组件并且不需要映射,您可以在组件渲染时延迟加载它。

const current = (props) => {
   const pic = React.lazy(()=>import(`../../icons/${props.icon}.png`))
   ......

然后包装imgSuspense 标记和 <img src={pic} />

关于javascript - 从 React 中的文件夹加载本地存储图像的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59037578/

相关文章:

Javascript:将数据动态添加到数组

reactjs - React js在每个span元素上附加点击事件

javascript - 在 react 中使用异步等待从火力存储中检索图像

javascript - 如何在 JS 文件中添加 jQuery

javascript - 避免 React 中的内联函数 : How to bind functions with arguments?

javascript - react : how to check and uncheck a checkbox

javascript - 内联 React JS For 循环分页

javascript - jQuery animate() 没有完成动画

javascript - jQuery .find() 在 IE 中不返回数据,但在 Firefox 和 Chrome 中返回数据

javascript - 强制在 Mobile Safari 上呈现整页?