react中如何优雅的使用svg


当前第2页 返回上一页

src/components 文件夹下建一个 SvgIcon 文件夹 添加 index.jsx 文件

目录

b121a2ff962cf04875d866c41e0e001.png

index.jsx 组件内容如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

import React from "react";

import PropTypes from "prop-types";

import styles from "./style.less"; //已启用 CSS Modules

const SvgIcon = props => {

  const { iconClass, fill } = props;

  return (

    <i aria-hidden="true" className="anticon">

      <svg className={styles["svg-class"]}>

        <use xlinkHref={"#icon-" + iconClass} fill={fill} />

      </svg>

    </i>

  );

};

SvgIcon.propTypes = {

  // svg名字

  iconClass: PropTypes.string.isRequired,

  // 填充颜色

  fill: PropTypes.string

};

SvgIcon.defaultProps = {

  fill: "currentColor"

};

export default SvgIcon;

style.less

1

2

3

4

5

6

7

8

.svg-class {

  display: inline-block;

  overflow: hidden;

  font-size: 14px;

  min-width: 14px;

  width: 1em;

  height: 1em;

}

5、使用

把要使用的的svg文件放到src/icons/svg目录下,使用的时候把svg名称给iconClass即可

1

2

3

4

5

6

7

import React from "react";

import SvgIcon from "@/components/SvgIcon";

const Demo = () => {

    const svgName="content"  // content.svg  已经放到 /src/icons/svg/  目录下

  return <SvgIcon iconClass={svgName} />;

};

export default Demo;

相关学习推荐:javascript视频教程

以上就是react中如何优雅的使用svg的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

React组件有过哪些性能优化

React子组件怎么向父组件传值?

svg标签:<text >标签和<tspan>标签的应用(代码)

可以用什么编辑React native?

React完成一个图片轮播组件

ReactReact native的区别是什么

React怎么mock数据

React中如何引入图片

React redux是什么?

怎么解决webstrom写React代码报错问题

更多相关阅读请进入《React》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...