我的问题:
如何获取.svg文件并将其与<svg>
标签一起使用,因此我还可以交互地设置它的样式(例如在悬停时),而不是像我在标签示例中所做的那样<img>
?
目标:
创建一个缩略图视图,在我的主要路线上显示每个国家(149 个)的国旗'/'
问题:
我在我的 Express 代码中设置了一个静态路由,因此所有标志都可用。
server.js:
app.use('/flags', express.static(FLAGS_FILES));
app.get('/flags', async (req, res) => {
let myFlags;
await readdir('data/flag-icons/')
.then((flags) => myFlags = flags)
.catch(err => console.log('Error:', err))
res.json(myFlags)
});
在客户端,我想获取每个 .svg 文件并将其内联到我的组件中。
我的 React 组件如下所示:
地图缩略图组件:
render(){
const {flagcode} = this.props;
const filepath = `/flags/${mapcode}/vector.svg`;
console.log('filepath:', filepath);
return (
<MapThumbnailStyle>
<img src={filepath}
alt={flagcode}
title={flagcode}
width='40px'
height='40px'
/>
</MapThumbnailStyle>
);
}