react中怎么优雅的使用svg
发表于:2023-03-21 作者:安全数据网编辑
编辑最后更新 2023年03月21日,这篇文章主要介绍react中怎么优雅的使用svg,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!react中优雅的使用svg的方法:首先安装【svg-sprite-loader】
这篇文章主要介绍react中怎么优雅的使用svg,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
react中优雅的使用svg的方法:首先安装【svg-sprite-loader】,并配置【/config/webpack.config.js】;然后在src文件夹下新建一个icons文件夹;最后设置SvgIcon组件。
react中优雅的使用svg的方法:
1、安装 svg-sprite-loader
yarn add svg-sprite-loader --dev
or
npm i svg-sprite-loader -D
2、配置 /config/webpack.config.js (yarn eject 后的配置 )
注意:新添加的loader一定要放到file-loader之前
原因:webpack的loader执行是从后往前执行的
loader 里添加如下配置
{ test: /\.(eot|woff2?|ttf|svg)$/, exclude: path.resolve(__dirname, "../src/icons"), //不处理指定svg的文件(所有使用的svg文件放到该文件夹下) use: [ { loader: "url-loader", options: { name: "[name]-[hash:5].min.[ext]", limit: 5000, // fonts file size <= 5KB, use 'base64'; else, output svg file outputPath: "font", publicPath: "font" } } ] }, { test: /\.svg$/, loader: "svg-sprite-loader", include: path.resolve(__dirname, "../src/icons"), //只处理指定svg的文件(所有使用的svg文件放到该文件夹下) options: { symbolId: "icon-[name]" //symbolId和use使用的名称对应 } },
3、src 文件夹下新建一个 icons 文件夹
icons 文件夹下新建 svg 文件夹放 svg 文件
目录
index.js 加载所有 svg 文件夹下 svg 文件
const requireAll = requireContext => requireContext.keys().map(requireContext);const svgs = require.context("./svg", false, /\.svg$/);requireAll(svgs);
然后一定要在react入口文件 src/index.js中导入src/icons/index.js
代码如下
import "./icons";
4、SvgIcon 组件
src/components 文件夹下建一个 SvgIcon 文件夹 添加 index.jsx 文件
目录
index.jsx 组件内容如下:
import React from "react";import PropTypes from "prop-types";import styles from "./style.less"; //已启用 CSS Modulesconst SvgIcon = props => { const { iconClass, fill } = props; return ( );};SvgIcon.propTypes = { // svg名字 iconClass: PropTypes.string.isRequired, // 填充颜色 fill: PropTypes.string};SvgIcon.defaultProps = { fill: "currentColor"};export default SvgIcon;
style.less
.svg-class { display: inline-block; overflow: hidden; font-size: 14px; min-width: 14px; width: 1em; height: 1em;}
5、使用
把要使用的的svg文件放到src/icons/svg目录下,使用的时候把svg名称给iconClass即可
import React from "react";import SvgIcon from "@/components/SvgIcon";const Demo = () => { const svgName="content" // content.svg 已经放到 /src/icons/svg/ 目录下 return;};export default Demo;
以上是"react中怎么优雅的使用svg"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
c语言网络技术和编程语言总结
c语言对应的三级考试网络技术
网站服务器后台如何加防护密码
c语言软件开发步骤
c语言中网络技术知识点
服务器对权限提升的防护措施
怎么在阿里云租服务器
黑苹果能做web服务器吗
c语言和网络技术哪个好考
云服务器2核4G是什么性能
交互式网络技术
服务器r640
网络安全模板图片
软件开发有特定的专业要求吗
软件开发高清视频教程
数据库加标签和附属框怎么设置
发生在中国的网络安全事件
错误解析服务器的dns地址
重庆直播软件开发价格
日常信息网络安全注意事项
软件开发领导小组职责
数据库安全应如何做
知名互联网科技企业
大学网络技术基础教程附录答案
阿里云服务器怎样保证安全
cnki期刊全文数据库
网络安全专业细节决定成败
网络技术开发税收优优惠
来安网络安全信息中心
描述链路状态数据库的作用
ps4恢复模式构建数据库
网络安全培训哪里学
赣州市网络安全特训营
专门app软件开发
网络安全研究学习活动
完达山软件开发中心
数据库日志截断收缩
vpn服务器不能到达
软件开发内卷化
商丘市网络安全作品征集