首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在React中动态渲染base64编码的SVG

在React中动态渲染base64编码的SVG
EN

Stack Overflow用户
提问于 2021-03-15 10:42:52
回答 1查看 61关注 0票数 0

我收到来自API的base64编码的SVG,有什么方法可以在react应用程序中渲染解码的SVG吗?

代码语言:javascript
复制
import React from 'react';
import { useSelector } from 'react-redux';
const userLogo = () => {
  const logoSVG = useSelector((store) => store.portfolio.logo))
  const [logo, setLogo] = React.useState('');
 
  React.useEffect(() => {
   if(logoSVG)
     setLogo(atob(logoSVG))
  }, [logoSVG])

  return(
    <> { logo }</>
 )
}

然而,在运行上面的代码时,我得到的SVG是字符串输出,而不是渲染值,dangerouslysetinnerhtml prop只渲染html格式,而不渲染SVG

EN

回答 1

Stack Overflow用户

发布于 2021-03-15 10:54:17

可以将文本转换为blob,并将blob用作图像元素源

代码语言:javascript
复制
const blob = new Blob([logo], {type: 'image/svg+xml'});
const url = URL.createObjectURL(blob);
代码语言:javascript
复制
return <img src={url} />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66631734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档