我创建了一个渲染图片的组件。
这是该组件。
import React, { lazy, Suspense } from "react";
const Icon = (props) => {
const { src } = props;
return (
<img src={src} />
);
};
export default Icon;
然后我像这样使用它
import ExampleIcon from "./../images/icons/example.png";
...
<Icon src={ExampleIcon} />
有没有更有效的方法来加载图标?直接 "加载" example.png 并将其用作源可以吗?尝试将其更改为:
const Icon = (props) => {
const src = lazy(() => import("./../images/icons/" + props.src + ".png"));
return (
<Suspense fallback={<p>loading...</p>}><img src={src} /></Suspense>
);
};
看起来它不起作用。还有什么其他的想法吗?谢谢!
loading="lazy"
属性来使用本地的图像懒加载。我不会将此作为答案留下,因为我不确定你想要的方向,并且实际上还没有测试这个解决方案。 - technicallynick<img src={src}/>
处理事物的效率不够高,具体哪一点不够高效呢?因为它只有在渲染img
时才会真正运行获取图像的方法。 - Zachary Haber